From c35c9680404dd523f5077505e461def00ae1688b Mon Sep 17 00:00:00 2001 From: Miruna Paun Date: Thu, 13 Jul 2017 18:20:00 +0200 Subject: Removed all mentioned of the word "Platform" LXCR-7891 Where it didn't do more harm then good to do so. Signed-off-by: Miruna Paun --- doc/Makefile | 18 +- doc/book-enea-nfv-access-guide/doc/benchmarks.xml | 1637 ++++ doc/book-enea-nfv-access-guide/doc/book.xml | 30 + .../doc/container_virtualization.xml | 136 + doc/book-enea-nfv-access-guide/doc/dpdk.xml | 119 + .../doc/eltf_params_template.xml | 151 + .../doc/eltf_params_updated.xml | 165 + .../eltf_params_updated_template_how_to_use.txt | 320 + .../doc/getting_started.xml | 340 + .../doc/hypervisor_virtualization.xml | 741 ++ .../doc/images/virtual_network_functions.png | Bin 0 -> 24106 bytes doc/book-enea-nfv-access-guide/doc/overview.xml | 164 + doc/book-enea-nfv-access-guide/doc/ovs.xml | 161 + .../doc/using_nfv_access_sdks.xml | 203 + doc/book-enea-nfv-access-guide/swcomp.mk | 10 + doc/book-enea-nfv-access-open-source/doc/README | 4 + doc/book-enea-nfv-access-open-source/doc/about.xml | 12 + doc/book-enea-nfv-access-open-source/doc/book.xml | 14 + .../doc/licenses.xml | 7986 ++++++++++++++++++++ doc/book-enea-nfv-access-open-source/swcomp.mk | 10 + .../doc/benchmarks.xml | 1637 ---- .../doc/book.xml | 30 - .../doc/container_virtualization.xml | 136 - .../doc/dpdk.xml | 119 - .../doc/eltf_params_template.xml | 151 - .../doc/eltf_params_updated.xml | 165 - .../eltf_params_updated_template_how_to_use.txt | 320 - .../doc/getting_started.xml | 340 - .../doc/hypervisor_virtualization.xml | 741 -- .../doc/images/virtual_network_functions.png | Bin 24106 -> 0 bytes .../doc/ovs.xml | 161 - .../doc/platform_overview.xml | 165 - .../doc/using_nfv_access_platform_sdks.xml | 203 - doc/book-enea-nfv-access-platform-guide/swcomp.mk | 10 - .../doc/README | 4 - .../doc/about.xml | 12 - .../doc/book.xml | 14 - .../doc/licenses.xml | 7986 -------------------- .../swcomp.mk | 10 - .../doc/about_release.xml | 294 - .../doc/book.xml | 18 - .../doc/build_boot_template.xml | 34 - .../doc/eltf_params_template.xml | 151 - .../doc/eltf_params_updated.xml | 165 - .../eltf_params_updated_template_how_to_use.txt | 320 - .../doc/getting_enea_linux.xml | 205 - .../doc/jiraissues_override.xml | 36 - .../doc/known_bugs_and_limitations.xml | 267 - .../doc/main_changes.xml | 53 - .../doc/prerequisites.xml | 34 - .../doc/system_requirements.xml | 162 - .../swcomp.mk | 10 - .../doc/about_release.xml | 294 + doc/book-enea-nfv-access-release-info/doc/book.xml | 18 + .../doc/build_boot_template.xml | 34 + .../doc/eltf_params_template.xml | 151 + .../doc/eltf_params_updated.xml | 165 + .../eltf_params_updated_template_how_to_use.txt | 320 + .../doc/getting_enea_linux.xml | 205 + .../doc/jiraissues_override.xml | 36 + .../doc/known_bugs_and_limitations.xml | 267 + .../doc/main_changes.xml | 53 + .../doc/prerequisites.xml | 34 + .../doc/system_requirements.xml | 162 + doc/book-enea-nfv-access-release-info/swcomp.mk | 10 + doc/manifest_conf.mk | 2 +- 66 files changed, 13962 insertions(+), 13963 deletions(-) create mode 100644 doc/book-enea-nfv-access-guide/doc/benchmarks.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/book.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/container_virtualization.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/dpdk.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/eltf_params_template.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/eltf_params_updated.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/eltf_params_updated_template_how_to_use.txt create mode 100644 doc/book-enea-nfv-access-guide/doc/getting_started.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/images/virtual_network_functions.png create mode 100644 doc/book-enea-nfv-access-guide/doc/overview.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/ovs.xml create mode 100644 doc/book-enea-nfv-access-guide/doc/using_nfv_access_sdks.xml create mode 100644 doc/book-enea-nfv-access-guide/swcomp.mk create mode 100644 doc/book-enea-nfv-access-open-source/doc/README create mode 100644 doc/book-enea-nfv-access-open-source/doc/about.xml create mode 100644 doc/book-enea-nfv-access-open-source/doc/book.xml create mode 100644 doc/book-enea-nfv-access-open-source/doc/licenses.xml create mode 100644 doc/book-enea-nfv-access-open-source/swcomp.mk delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/book.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/eltf_params_template.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated_template_how_to_use.txt delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.png delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/ovs.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml delete mode 100644 doc/book-enea-nfv-access-platform-guide/swcomp.mk delete mode 100644 doc/book-enea-nfv-access-platform-open-source/doc/README delete mode 100644 doc/book-enea-nfv-access-platform-open-source/doc/about.xml delete mode 100644 doc/book-enea-nfv-access-platform-open-source/doc/book.xml delete mode 100644 doc/book-enea-nfv-access-platform-open-source/doc/licenses.xml delete mode 100644 doc/book-enea-nfv-access-platform-open-source/swcomp.mk delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/about_release.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/book.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated_template_how_to_use.txt delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/getting_enea_linux.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/jiraissues_override.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/known_bugs_and_limitations.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/main_changes.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/prerequisites.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/doc/system_requirements.xml delete mode 100644 doc/book-enea-nfv-access-platform-release-info/swcomp.mk create mode 100644 doc/book-enea-nfv-access-release-info/doc/about_release.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/book.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/build_boot_template.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/eltf_params_template.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/eltf_params_updated.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/eltf_params_updated_template_how_to_use.txt create mode 100644 doc/book-enea-nfv-access-release-info/doc/getting_enea_linux.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/jiraissues_override.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/known_bugs_and_limitations.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/main_changes.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/prerequisites.xml create mode 100644 doc/book-enea-nfv-access-release-info/doc/system_requirements.xml create mode 100644 doc/book-enea-nfv-access-release-info/swcomp.mk diff --git a/doc/Makefile b/doc/Makefile index 5e23b2a..70135de 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,4 +1,4 @@ -#2017-06-29 Converted EL7 virtualization profile to first version of ENFV Access Platform +#2017-06-29 Converted EL7 virtualization profile to first version of ENFV Access #2017-04-13 Created first version of virtualization profile #Path to this subsystem's root directory @@ -21,16 +21,16 @@ TMPCLONEROOT_MANIFEST := $(TMPCLONEROOT)/manifest # ******************* AutoGenerated chapters from template and target READMEs ******* -BUILDBOOT_XML := book-enea-nfv-access-platform-release-info/doc/build_boot_generated.xml -BUILDBOOT_TEMPLATE := book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml +BUILDBOOT_XML := book-enea-nfv-access-release-info/doc/build_boot_generated.xml +BUILDBOOT_TEMPLATE := book-enea-nfv-access-release-info/doc/build_boot_template.xml -PKGDIFF_GEN_XML := book-enea-nfv-access-platform-release-info/doc/pkgdiff_generated.xml -JIRA_ISSUES_GEN_XML := book-enea-nfv-access-platform-release-info/doc/jiraissues_generated.xml +PKGDIFF_GEN_XML := book-enea-nfv-access-release-info/doc/pkgdiff_generated.xml +JIRA_ISSUES_GEN_XML := book-enea-nfv-access-release-info/doc/jiraissues_generated.xml -MACHINE_LIST_XML := book-enea-nfv-access-platform-release-info/doc/machine_list_generated.xml +MACHINE_LIST_XML := book-enea-nfv-access-release-info/doc/machine_list_generated.xml -ELTF_PARAMS_TEMPLATE := book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml -ELTF_PARAMS_UPDATED := book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml +ELTF_PARAMS_TEMPLATE := book-enea-nfv-access-release-info/doc/eltf_params_template.xml +ELTF_PARAMS_UPDATED := book-enea-nfv-access-release-info/doc/eltf_params_updated.xml @@ -48,7 +48,7 @@ DOCBOOK_TO_BOOKDIR ?= yes DOCBOOK_CLEANTMP ?= yes #Components (books) in this subsystem. Now use all books found here -# COMPONENTS := book-enea-nfv-access-platform-release-info book-enea-linux-open-source +# COMPONENTS := book-enea-nfv-access-release-info book-enea-linux-open-source # COMPONENTS += book-enea-linux-eclipse-open-source (as of 13.04.2017 this is not needed) COMPONENTS := $(shell ls -d book-enea* ) diff --git a/doc/book-enea-nfv-access-guide/doc/benchmarks.xml b/doc/book-enea-nfv-access-guide/doc/benchmarks.xml new file mode 100644 index 0000000..cba6150 --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/benchmarks.xml @@ -0,0 +1,1637 @@ + + + + Benchmarks + +
+ Hardware Setup + + The following table describes all the needed prequisites for an apt + hardware setup: + + + Hardware Setup + + + + + + + Item + + Description + + + + + + Server Platform + + Supermicro X10SDV-4C-TLN2F + http://www.supermicro.com/products/motherboard/xeon/d/X10SDV-4C-TLN2F.cfm + + + + ARCH + + x86-64 + + + + Processor + + 1 x Intel Xeon D-1521 (Broadwell), 4 cores, 8 + hyper-threaded cores per processor + + + + CPU freq + + 2.40 GHz + + + + RAM + + 16GB + + + + Network + + Dual integrated 10G ports + + + + Storage + + Samsung 850 Pro 128GB SSD + + + +
+ + Generic tests configuration: + + + + All tests use one port, one core and one Rx/TX queue for fast + path traffic. + + +
+ +
+ BIOS Settings + + The table below details the BIOS settings for which the default + values were changed when doing performance measurements. + + + BIOS Settings + + + + + + + Menu Path + + Setting Name + + Enea NFV Access value + + BIOS Default value + + + + + + CPU Configuration + + Direct Cache Access (DCA) + + Enable + + Auto + + + + CPU Configuration / Advanced Power Management + Configuration + + EIST (P-States) + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU C State Control + + CPU C State + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Energy Perf BIAS + + Energy Performance Tuning + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Energy Perf BIAS + + Energy Performance BIAS Setting + + Performance + + Balanced Performance + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Energy Perf BIAS + + Power/Performance Switch + + Disable + + Enable + + + + CPU Configuration / Advanced Power Management Configuration + / CPU Advanced PM Turning / Program PowerCTL _MSR + + Energy Efficient Turbo + + Disable + + Enable + + + + Chipset Configuration / North Bridge / IIO + Configuration + + EV DFX Features + + Enable + + Disable + + + + Chipset Configuration / North Bridge / Memory + Configuration + + Enforce POR + + Disable + + Enable + + + + Chipset Configuration / North Bridge / Memory + Configuration + + Memory Frequency + + 2400 + + Auto + + + + Chipset Configuration / North Bridge / Memory + Configuration + + DRAM RAPL Baseline + + Disable + + DRAM RAPL Mode 1 + + + +
+
+ +
+ Use Cases + +
+ Docker related benchmarks + +
+ Forward traffic in Docker + + Benchmarking traffic forwarding using testpmd in a Docker + container. + + Pktgen is used to generate UDP traffic that will reach testpmd, + running in a Docker image. It will then be forwarded back to source on + the return trip (Forwarding). + + This test measures: + + + + pktgen TX, RX in packets per second (pps) and Mbps + + + + testpmd TX, RX in packets per second (pps) + + + + divide testpmd RX / pktgen TX in pps to obtain throughput in + percentages (%) + + + +
+ Test Setup for Target 1 + + Start by following the steps below: + + SSD boot using the following grub.cfg + entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 + + Kill unnecessary services:killall ovsdb-server ovs-vswitchd +rm -rf /etc/openvswitch/* +mkdir -p /var/run/openvswitchMount hugepages and configure + DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0Run + pktgen:cd /usr/share/apps/pktgen/ +./pktgen -c 0xF -n 1 -- -P -m "[3:2].0"In the pktgen console + run:strTo change framesize for + pktgen, from [64, 128, 256, 512]:set 0 size <number> +
+ +
+ Test Setup for Target 2 + + Start by following the steps below: + + SSD boot using the following grub.cfg + entry: + + linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 + + It is expected to have Docker/guest image on target. Configure + the OVS bridge:# OVS old config clean-up +killall ovsdb-server ovs-vswitchd +rm -rf /etc/openvswitch/* +mkdir -p /var/run/openvswitch + +# Mount hugepages and bind interfaces to dpdk +mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0 + +# configure openvswitch with DPDK +export DB_SOCK=/var/run/openvswitch/db.sock +ovsdb-tool create /etc/openvswitch/conf.db / +/usr/share/openvswitch/vswitch.ovsschema +ovsdb-server --remote=punix:$DB_SOCK / +--remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach +ovs-vsctl --no-wait init +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 +ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true +ovs-vswitchd unix:$DB_SOCK --pidfile --detach / +--log-file=/var/log/openvswitch/ovs-vswitchd.log + +ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev +ovs-vsctl add-port ovsbr0 vhost-user1 / +-- set Interface vhost-user1 type=dpdkvhostuser ofport_request=1 +ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface / +dpdk0 type=dpdk options:dpdk-devargs=0000:03:00.0 ofport_request=2 + +# configure static flows +ovs-ofctl del-flows ovsbr0 +ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 +ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a + Docker container:docker import enea-image-virtualization-guest-qemux86-64.tar.gz el7_guestStart + the Docker container:docker run -it --rm -v /var/run/openvswitch/:/var/run/openvswitch/ / +-v /mnt/huge:/mnt/huge el7_guest /bin/bashStart the testpmd + application in Docker:testpmd -c 0x30 -n 2 --file-prefix prog1 --socket-mem 512 --no-pci / +--vdev=virtio_user0,path=/var/run/openvswitch/vhost-user1 / +-d /usr/lib/librte_pmd_virtio.so.1.1 -- --burst 64 --disable-hw-vlan / +--disable-rss -i --portmask=0x1 --coremask=0x20 --nb-cores=1 / +--rxq=1 --txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedTo + start traffic forwarding, run the + following command in testpmd CLI:startTo + start traffic but in termination + mode (no traffic sent on TX), run following command in testpmd + CLI:set fwd rxonly +start + Results in forwarding mode + + + + + Bytes + + pktgen pps + TX + + pktgen MBits/s + TX + + pktgen pps + RX + + pktgen MBits/s + RX + + testpmd pps + RX + + testpmd pps + TX + + throughput + (%) + + + + 64 + + 14890993 + + 10006 + + 7706039 + + 5178 + + 7692807 + + 7692864 + + 51.74% + + + + 128 + + 8435104 + + 9999 + + 7689458 + + 9060 + + 7684962 + + 7684904 + + 90.6% + + + + 256 + + 4532384 + + 9999 + + 4532386 + + 9998 + + 4532403 + + 4532403 + + 99.9% + + + +
+ Results in termination mode + + + + + Bytes + + pktgen pps + TX + + testpmd pps + RX + + throughput + (%) + + + + 64 + + 14890993 + + 7330403 + + 49,2% + + + + 128 + + 8435104 + + 7330379 + + 86,9% + + + + 256 + + 4532484 + + 4532407 + + 99,9% + + + +
+
+
+ +
+ Forward traffic from Docker to another Docker on the same + host + + Benchmark a combo test using testpmd running in two Docker + instances, one which Forwards traffic to the second one, which + Terminates it. + + Packets are generated with pktgen and TX-d to the first testpmd, + which will RX and Forward them to the second testpmd, which will RX + and terminate them. + + Measurements are made in: + + + + pktgen TX in pps and Mbits/s + + + + testpmd TX and RX pps in Docker1 + + + + testpmd RX pps in Docker2 + + + + Throughput found as a percent, by dividing Docker2 testpmd RX pps by pktgen + TX pps. + +
+ Test Setup for Target 1 + + Start by following the steps below: + + SSD boot using the following grub.cfg + entry: + + linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 + + Configure DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0Run + pktgen:cd /usr/share/apps/pktgen/ +./pktgen -c 0xF -n 1 -- -P -m "[3:2].0"Choose one of the + values from [64, 128, 256, 512] to change the packet + size:set 0 size <number> +
+ +
+ Test Setup for Target 2 + + Start by following the steps below: + + SSD boot using the following grub.cfg + entry: + + linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 / +iommu=pt intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 + + killall ovsdb-server ovs-vswitchd +rm -rf /etc/openvswitch/* +mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0Configure the OVS + bridge:export DB_SOCK=/var/run/openvswitch/db.sock +ovsdb-tool create /etc/openvswitch/conf.db / +/usr/share/openvswitch/vswitch.ovsschema +ovsdb-server --remote=punix:$DB_SOCK / +--remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach +ovs-vsctl --no-wait init +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 +ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xcc +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true +ovs-vswitchd unix:$DB_SOCK --pidfile --detach / +--log-file=/var/log/openvswitch/ovs-vswitchd.log +ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev +ovs-vsctl add-port ovsbr0 vhost-user1 -- set Interface / +vhost-user1 type=dpdkvhostuser ofport_request=1 +ovs-vsctl add-port ovsbr0 vhost-user2 -- set Interface / +vhost-user2 type=dpdkvhostuser ofport_request=2 +ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 / +type=dpdk options:dpdk-devargs=0000:03:00.0 ofport_request=3 +ovs-ofctl del-flows ovsbr0 +ovs-ofctl add-flow ovsbr0 in_port=3,action=output:2 +ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a + Docker container:docker import enea-image-virtualization-guest-qemux86-64.tar.gz el7_guestStart + the first Docker:docker run -it --rm --cpuset-cpus=4,5 / +-v /var/run/openvswitch/:/var/run/openvswitch/ / +-v /mnt/huge:/mnt/huge el7_guest /bin/bashStart the testpmd + application in Docker1:testpmd -c 0x30 -n 2 --file-prefix prog1 --socket-mem 512 --no-pci / +--vdev=virtio_user0,path=/var/run/openvswitch/vhost-user1 / +-d /usr/lib/librte_pmd_virtio.so.1.1 -- --burst 64 --disable-hw-vlan / +--disable-rss -i --portmask=0x1 --coremask=0x20 --nb-cores=1 / +--rxq=1 --txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedConfigure + it in termination mode:set fwd rxonlyRun + the testpmd application:startOpen a + new console to the host and start the second Docker + instance:docker run -it --rm --cpuset-cpus=0,1 -v /var/run/openvswitch/:/var/run/openvswitch/ / +-v /mnt/huge:/mnt/huge el7_guest /bin/bashIn the second + container start testpmd:testpmd -c 0x0F --file-prefix prog2 --socket-mem 512 --no-pci / +--vdev=virtio_user0,path=/var/run/openvswitch/vhost-user2 / +-d /usr/lib/librte_pmd_virtio.so.1.1 -- -i --disable-hw-vlanRun + the TestPmd application in the second Docker:testpmd -c 0x3 -n 2 --file-prefix prog2 --socket-mem 512 --no-pci / +--vdev=virtio_user0,path=/var/run/openvswitch/vhost-user2 / +-d /usr/lib/librte_pmd_virtio.so.1.1 -- --burst 64 --disable-hw-vlan / +--disable-rss -i --portmask=0x1 --coremask=0x2 --nb-cores=1 --rxq=1 / +--txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedIn + the testpmd shell, run:startStart + pktgen traffic by running the following command in pktgen + CLI:start 0To record traffic + results:show port stats 0This + should be used in testpmd applications. + + + Results + + + + + Bytes + + Target 1 - + pktgen pps TX + + Target 2 - + (forwarding) testpmd pps RX + + Target 2 - + (forwarding) testpmd pps TX + + Target 2 - + (termination) testpmd pps RX + + + + 64 + + 14844628 + + 5643565 + + 3459922 + + 3457326 + + + + 128 + + 8496962 + + 5667860 + + 3436811 + + 3438918 + + + + 256 + + 4532372 + + 4532362 + + 3456623 + + 3457115 + + + + 512 + + 2367641 + + 2349450 + + 2349450 + + 2349446 + + + +
+
+
+ +
+ SR-IOV in in Docker + + PCI passthrough tests using pktgen and testpmd in Docker. + + pktgen[DPDK]Docker - PHY - Docker[DPDK] testpmd + + Measurements: + + + + RX packets per second in testpmd (with testpmd configured in + rxonly mode). + + + +
+ Test Setup + + Boot Enea NFV Access from SSD:linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable clocksource=tsc / +tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 processor.max_cstate=0 / +mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt intel_iommu=on hugepagesz=1GB / +hugepages=8 default_hugepagesz=1GB hugepagesz=2M hugepages=2048 / +vfio_iommu_type1.allow_unsafe_interrupts=1lAllow unsafe + interrupts:echo 1 > /sys/module/vfio_iommu_type1/parameters/allow_unsafe_interruptsConfigure + DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +dpdk-devbind.py --bind=ixgbe 0000:03:00.0 +ifconfig eno3 192.168.1.2 +echo 2 > /sys/class/net/eno3/device/sriov_numvfs +modprobe vfio-pci +dpdk-devbind.py --bind=vfio-pci 0000:03:10.0 +dpdk-devbind.py --bind=vfio-pci 0000:03:10.2Start two docker + containers:docker run --privileged -it --rm -v /mnt/huge:/mnt/huge/ / +--device /dev/vfio/vfio el7_guest /bin/bash +docker run --privileged -it --rm -v /mnt/huge:/mnt/huge/ / +--device /dev/vfio/vfio el7_guest /bin/bashIn the first + container start pktgen:cd /usr/share/apps/pktgen/ +./pktgen -c 0x1f -w 0000:03:10.0 -n 1 --file-prefix pg1 / +--socket-mem 1024 -- -P -m "[3:4].0"In the pktgen prompt set + the destination MAC address:set mac 0 XX:XX:XX:XX:XX:XX +strIn the second container start testpmd:testpmd -c 0x7 -n 1 -w 0000:03:10.2 -- -i --portmask=0x1 / +--txd=256 --rxd=256 --port-topology=chainedIn the testpmd + prompt set forwarding + rxonly:set fwd rxonly +start + Results + + + + + Bytes + + pktgen pps + TX + + testpmd pps + RX + + pktgen MBits/s + TX + + throughput + (%) + + + + 64 + + 14525286 + + 14190869 + + 9739 + + 97.7 + + + + 128 + + 8456960 + + 8412172 + + 10013 + + 99.4 + + + + 256 + + 4566624 + + 4526587 + + 10083 + + 99.1 + + + + 512 + + 2363744 + + 2348015 + + 10060 + + 99.3 + + + +
+
+
+
+ +
+ VM related benchmarks + +
+ Forward/termination traffic in one VM + + Benchmarking traffic (UDP) forwarding and termination using + testpmd in a virtual machine. + + The Pktgen application is used to generate traffic that will + reach testpmd running on a virtual machine, and be forwarded back to + source on the return trip. With the same setup a second measurement + will be done with traffic termination in the virtual machine. + + This test case measures: + + + + pktgen TX, RX in packets per second (pps) and Mbps + + + + testpmd TX, RX in packets per second (pps) + + + + divide testpmd RX by + pktgen TX in pps to obtain the + throughput in percentages (%) + + + +
+ Test Setup for Target 1 + + Start with the steps below: + + SSD boot using the following grub.cfg + entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 + + Kill unnecessary services: killall ovsdb-server ovs-vswitchd +rm -rf /etc/openvswitch/* +mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0Run + pktgen:cd /usr/share/apps/pktgen/ +./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 / +-w 0000:03:00.0 -- -P -m "[1:2].0"Set pktgen frame size to + use from [64, 128, 256, 512]:set 0 size 64 +
+ +
+ Test Setup for Target 2 + + Start by following the steps below: + + SSD boot using the following grub.cfg + entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Kill + unnecessary services: killall ovsdb-server ovs-vswitchd +rm -rf /etc/openvswitch/* +mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0Configure + OVS:export DB_SOCK=/var/run/openvswitch/db.sock +ovsdb-tool create /etc/openvswitch/conf.db / +/usr/share/openvswitch/vswitch.ovsschema +ovsdb-server --remote=punix:$DB_SOCK / +--remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach +ovs-vsctl --no-wait init +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 +ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true +ovs-vswitchd unix:$DB_SOCK --pidfile --detach / +--log-file=/var/log/openvswitch/ovs-vswitchd.log + +ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev +ovs-vsctl add-port ovsbr0 vhost-user1 / +-- set Interface vhost-user1 type=dpdkvhostuser -- set Interface / +vhost-user1 ofport_request=2 +ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 / +type=dpdk options:dpdk-devargs=0000:03:00.0 / +-- set Interface dpdk0 ofport_request=1 +chmod 777 /var/run/openvswitch/vhost-user1 + +ovs-ofctl del-flows ovsbr0 +ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 +ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Launch + QEMU:taskset -c 0,1 qemu-system-x86_64 -cpu host,+invtsc,migratable=no / +-M q35 -smp cores=2,sockets=1 -vcpu 0,affinity=0 -vcpu 1,affinity=1 / +-enable-kvm -nographic -realtime mlock=on -kernel /mnt/qemu/bzImage / +-drive file=/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4,/ +if=virtio,format=raw -m 4096 -object memory-backend-file,id=mem,/ +size=4096M,mem-path=/mnt/huge,share=on -numa node,memdev=mem / +-mem-prealloc -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 / +-netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce / +-device virtio-net-pci,mac=52:54:00:00:00:01,netdev=mynet1,/ +mrg_rxbuf=on,rx_queue_size=1024,csum=off,gso=off,guest_tso4=off,/ +guest_tso6=off,guest_ecn=off -append 'root=/dev/vda console=ttyS0 / +hugepagesz=2M hugepages=1024 isolcpus=1 nohz_full=1 rcu_nocbs=1 / +irqaffinity=0 rcu_nocb_poll intel_pstate=disable intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0'Inside QEMU, + configure DPDK: mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:00:02.0Inside QEMU, run + testpmd: testpmd -c 0x3 -n 2 -d librte_pmd_virtio.so.1.1 / +-- --burst 64 --disable-hw-vlan --disable-rss -i --portmask=0x1 / +--coremask=0x2 --nb-cores=1 --rxq=1 --txq=1 --txd=512 --rxd=512 / +--txqflags=0xf00 --port-topology=chainedFor the Forwarding test, start testpmd + directly:startFor the Termination test, set testpmd to only + receive, then start it:set fwd rxonly +startOn target 1, you may start pktgen traffic + now:start 0On target 2, use this + command to refresh the testpmd display and note the highest + values:show port stats 0To stop + traffic from pktgen, in order to choose a different frame + size:stop 0To clear numbers in + testpmd:clear port stats +show port stats 0 + Results in forwarding mode + + + + + Bytes + + pktgen pps + RX + + pktgen pps + TX + + testpmd pps + RX + + testpmd pps + TX + + pktgen MBits/s + RX + + pktgen MBits/s + TX + + throughput + (%) + + + + 64 + + 7755769 + + 14858714 + + 7755447 + + 7755447 + + 5207 + + 9984 + + 52.2 + + + + 128 + + 7714626 + + 8435184 + + 7520349 + + 6932520 + + 8204 + + 9986 + + 82.1 + + + + 256 + + 4528847 + + 4528854 + + 4529030 + + 4529034 + + 9999 + + 9999 + + 99.9 + + + +
+ Results in termination mode + + + + + Bytes + + pktgen pps + TX + + testpmd pps + RX + + pktgen MBits/s + TX + + throughput + (%) + + + + 64 + + 15138992 + + 7290663 + + 10063 + + 48.2 + + + + 128 + + 8426825 + + 6902646 + + 9977 + + 81.9 + + + + 256 + + 4528957 + + 4528912 + + 9999 + + 100 + + + +
+
+
+ +
+ Forward traffic between two VMs + + Benchmark a combo test using two virtual machines, the first + with traffic forwarding to the second, which terminates it. + + Measurements are made in: + + + + pktgen TX in pps and Mbits/s + + + + testpmd TX and RX pps in VM1 + + + + testpmd RX pps in VM2 + + + + throughput in percents, by dividing + VM2 testpmd RX pps by pktgen TX + pps + + + +
+ Test Setup for Target 1 + + Start by doing the following: + + SSD boot using the following grub.cfg + entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Kill + Services:killall ovsdb-server ovs-vswitchd +rm -rf /etc/openvswitch/* +mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0Run + pktgen:cd /usr/share/apps/pktgen/ +./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 / +-w 0000:03:00.0 -- -P -m "[1:2].0"Set pktgen frame size to + use from [64, 128, 256, 512]:set 0 size 64 +
+ +
+ Test Setup for Target 2 + + Start by doing the following: + + SSD boot using the following grub.cfg + entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Kill + Services:killall ovsdb-server ovs-vswitchd +rm -rf /etc/openvswitch/* +mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:03:00.0Configure + OVS:export DB_SOCK=/var/run/openvswitch/db.sock +ovsdb-tool create /etc/openvswitch/conf.db / +/usr/share/openvswitch/vswitch.ovsschema +ovsdb-server --remote=punix:$DB_SOCK / +--remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach +ovs-vsctl --no-wait init +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 +ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true +ovs-vswitchd unix:$DB_SOCK --pidfile / +--detach --log-file=/var/log/openvswitch/ovs-vswitchd.log + + +ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev +ovs-vsctl add-port ovsbr0 dpdk0 / +-- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:03:00.0 ofport_request=1 +ovs-vsctl add-port ovsbr0 vhost-user1 / +-- set Interface vhost-user1 type=dpdkvhostuser ofport_request=2 +ovs-vsctl add-port ovsbr0 vhost-user2 / +-- set Interface vhost-user2 type=dpdkvhostuser ofport_request=3 + + +ovs-ofctl del-flows ovsbr0 +ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 +ovs-ofctl add-flow ovsbr0 in_port=2,action=output:3Launch + first QEMU instance, VM1:taskset -c 0,1 qemu-system-x86_64 -cpu host,+invtsc,migratable=no -M q35 / +-smp cores=2,sockets=1 -vcpu 0,affinity=0 -vcpu 1,affinity=1 -enable-kvm / +-nographic -realtime mlock=on -kernel /home/root/qemu/bzImage / +-drive file=/home/root/qemu/enea-image-virtualization-guest-qemux86-64.ext4,/ +if=virtio,format=raw -m 2048 -object memory-backend-file,id=mem,/ +size=2048M,mem-path=/mnt/huge,share=on -numa node,memdev=mem / +-mem-prealloc -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 / +-netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce / +-device virtio-net-pci,mac=52:54:00:00:00:01,netdev=mynet1,/ +mrg_rxbuf=on,rx_queue_size=1024,csum=off,gso=off,guest_tso4=off,/ +guest_tso6=off,guest_ecn=off -append 'root=/dev/vda console=ttyS0 / +hugepagesz=2M hugepages=512 isolcpus=1 nohz_full=1 rcu_nocbs=1 / +irqaffinity=0 rcu_nocb_poll intel_pstate=disable intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0'Connect to + Target 2 through a new SSH session and run a second QEMU instance + (to get its own console, separate from instance VM1). We shall call + this VM2:taskset -c 4,5 qemu-system-x86_64 -cpu host,+invtsc,migratable=no / +-M q35 -smp cores=2,sockets=1 -vcpu 0,affinity=4 -vcpu 1,affinity=5 / +-enable-kvm -nographic -realtime mlock=on -kernel /home/root/qemu2/bzImage / +-drive file=/home/root/qemu2/enea-image-virtualization-guest-qemux86-64.ext4,/ +if=virtio,format=raw -m 2048 -object memory-backend-file,id=mem,size=2048M,/ +mem-path=/mnt/huge,share=on -numa node,memdev=mem -mem-prealloc / +-chardev socket,id=char1,path=/var/run/openvswitch/vhost-user2 / +-netdev type=vhost-user,id=mynet1,chardev=char1,vhostforce / +-device virtio-net-pci,mac=52:54:00:00:00:02,netdev=mynet1,/ +mrg_rxbuf=on,rx_queue_size=1024,csum=off,gso=off,guest_tso4=off,/ +guest_tso6=off,guest_ecn=off -append 'root=/dev/vda console=ttyS0 / +hugepagesz=2M hugepages=512 isolcpus=1 nohz_full=1 rcu_nocbs=1 / +irqaffinity=0 rcu_nocb_poll intel_pstate=disable intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0'Configure DPDK + inside VM1:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:00:02.0Run testpmd inside + VM1:testpmd -c 0x3 -n 2 -d librte_pmd_virtio.so.1.1 / +-- --burst 64 --disable-hw-vlan --disable-rss -i / +--portmask=0x1 --coremask=0x2 --nb-cores=1 --rxq=1 / +--txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedStart + testpmd inside VM1:startConfigure + DPDK inside VM2:mkdir -p /mnt/huge +mount -t hugetlbfs nodev /mnt/huge +modprobe igb_uio +dpdk-devbind --bind=igb_uio 0000:00:02.0Run testpmd inside + VM2:testpmd -c 0x3 -n 2 -d librte_pmd_virtio.so.1.1 / +-- --burst 64 --disable-hw-vlan --disable-rss -i --portmask=0x1 / +--coremask=0x2 --nb-cores=1 --rxq=1 --txq=1 --txd=512 / +--rxd=512 --txqflags=0xf00 --port-topology=chainedSet VM2 for + termination and start testpmd:set fwd rxonly +startOn target 1, start pktgen traffic:start 0Use + this command to refresh testpmd display in VM1 and VM2 and note the + highest values:show port stats 0To + stop traffic from pktgen, in order to choose a different frame + size:stop 0To clear numbers in + testpmd:clear port stats +show port stats 0For VM1, we record the stats relevant for + forwarding: + + + + RX, TX in pps + + + + Only Rx-pps and Tx-pps numbers are important here, they change + every time stats are displayed as long as there is traffic. Run the + command a few times and pick the best (maximum) values seen. + + For VM2, we record the stats relevant for termination: + + + + RX in pps (TX will be 0) + + + + For pktgen, we record only the TX side, because flow is + terminated, with no RX traffic reaching pktgen: + + + + TX in pps and Mbit/s + + + + + Results in forwarding mode + + + + + Bytes + + pktgen pps + TX + + VM1 testpmd pps + RX + + VM1 testpmd pps + TX + + VM2 testpmd pps + RX + + pktgen MBits/s + TX + + throughput + (%) + + + + 64 + + 14845113 + + 6826540 + + 5389680 + + 5383577 + + 9975 + + 36.2 + + + + 128 + + 8426683 + + 6825857 + + 5386971 + + 5384530 + + 9976 + + 63.9 + + + + 256 + + 4528894 + + 4507975 + + 4507958 + + 4532457 + + 9999 + + 100 + + + +
+
+
+ +
+ SR-IOV in Virtual Machines + + PCI passthrough tests using pktgen and testpmd in virtual + machines. + + pktgen[DPDK]VM - PHY - VM[DPDK] testpmd. + + Measurements: + + + + pktgen to testpmd in forwarding mode. + + + + pktgen to testpmd in termination mode. + + + +
+ Test Setup + + SSD boot using the following grub.cfg + entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / +isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / +clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / +intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / +hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Stop + other services and mount hugepages: systemctl stop openvswitch +mkdir -p /mnt/huge +mount -t hugetlbfs hugetlbfs /mnt/hugeConfigure SR-IOV + interfaces:/usr/share/usertools/dpdk-devbind.py --bind=ixgbe 0000:03:00.0 +echo 2 > /sys/class/net/eno3/device/sriov_numvfs +ifconfig eno3 10.0.0.1 +modprobe vfio_pci +/usr/share/usertools/dpdk-devbind.py --bind=vfio-pci 0000:03:10.0 +/usr/share/usertools/dpdk-devbind.py --bind=vfio-pci 0000:03:10.2 +ip link set eno3 vf 0 mac 0c:c4:7a:E5:0F:48 +ip link set eno3 vf 1 mac 0c:c4:7a:BF:52:E7Launch two QEMU + instances: taskset -c 4,5 qemu-system-x86_64 -cpu host,+invtsc,migratable=no -M / +q35 -smp cores=2,sockets=1 -vcpu 0,affinity=4 -vcpu 1,affinity=5 -enable-kvm / +-nographic -kernel /mnt/qemu/bzImage / +-drive file=/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4,if=virtio,/ +format=raw -m 4096 -object memory-backend-file,id=mem,size=4096M,mem-path=/mnt/huge,/ +share=on -numa node,memdev=mem -mem-prealloc -device vfio-pci,host=03:10.0 / +-append 'root=/dev/vda console=ttyS0 hugepagesz=2M hugepages=1024 / +isolcpus=1 nohz_full=1 rcu_nocbs=1 irqaffinity=0 rcu_nocb_poll / +intel_pstate=disable intel_idle.max_cstate=0 / +processor.max_cstate=0 mce=ignore_ce audit=0' + + +taskset -c 2,3 qemu-system-x86_64 -cpu host,+invtsc,migratable=no -M / +q35 -smp cores=2,sockets=1 -vcpu 0,affinity=2 -vcpu 1,affinity=3 -enable-kvm / +-nographic -kernel /mnt/qemu/bzImage / +-drive file=/mnt/qemu/enea-image2-virtualization-guest-qemux86-64.ext4,if=virtio,/ +format=raw -m 4096 -object memory-backend-file,id=mem,size=4096M,mem-path=/mnt/huge,/ +share=on -numa node,memdev=mem -mem-prealloc -device vfio-pci,host=03:10.2 / +-append 'root=/dev/vda console=ttyS0 hugepagesz=2M hugepages=1024 / +isolcpus=1 nohz_full=1 rcu_nocbs=1 irqaffinity=0 rcu_nocb_poll / +intel_pstate=disable intel_idle.max_cstate=0 processor.max_cstate=0 / +mce=ignore_ce audit=0'In the first VM, mount hugepages and + start pktgen:mkdir -p /mnt/huge && \ +mount -t hugetlbfs hugetlbfs /mnt/huge +modprobe igb_uio +/usr/share/usertools/dpdk-devbind.py --bind=igb_uio 0000:00:03.0 +cd /usr/share/apps/pktgen +./pktgen -c 0x3 -- -P -m "1.0"In the pktgen console set the + MAC of the destination and start generating + packages:set mac 0 0C:C4:7A:BF:52:E7 +strIn the second VM, mount hugepages and start + testpmd:mkdir -p /mnt/huge && \ +mount -t hugetlbfs hugetlbfs /mnt/huge +modprobe igb_uio +/usr/share/usertools/dpdk-devbind.py --bind=igb_uio 0000:00:03.0 +testpmd -c 0x3 -n 2 -- -i --txd=512 --rxd=512 --port-topology=chained / +--eth-peer=0,0c:c4:7a:e5:0f:48In order to enable forwarding mode, in the testpmd console, + run:set fwd mac +startIn order to enable termination mode, in the testpmd console, + run:set fwd rxonly +start + Results in forwarding mode + + + + + Bytes + + VM1 pktgen pps + TX + + VM1 pktgen pps + RX + + VM2 testpmd + pps RX + + VM2 testpmd + pps RX + + + + 64 + + 7105645 + + 7103976 + + 7101487 + + 7101487 + + + + 128 + + 5722795 + + 5722252 + + 5704219 + + 5704219 + + + + 256 + + 3454075 + + 3455144 + + 3452020 + + 3452020 + + + + 512 + + 1847751 + + 1847751 + + 1847751 + + 1847751 + + + + 1024 + + 956214 + + 956214 + + 956214 + + 956214 + + + + 1500 + + 797174 + + 797174 + + 797174 + + 797174 + + + +
+ Results in termination mode + + + + + Bytes + + VM1 pktgen pps + TX + + VM2 testpmd + RX + + + + 64 + + 14204580 + + 14205063 + + + + 128 + + 8424611 + + 8424611 + + + + 256 + + 4529024 + + 4529024 + + + + 512 + + 2348640 + + 2348640 + + + + 1024 + + 1197101 + + 1197101 + + + + 1500 + + 822244 + + 822244 + + + +
+
+
+
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/book.xml b/doc/book-enea-nfv-access-guide/doc/book.xml new file mode 100644 index 0000000..f23213c --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/book.xml @@ -0,0 +1,30 @@ + + + + <trademark class="registered">Enea</trademark> NFV Access Guide + Release Version + + + + + + + + + + + + diff --git a/doc/book-enea-nfv-access-guide/doc/container_virtualization.xml b/doc/book-enea-nfv-access-guide/doc/container_virtualization.xml new file mode 100644 index 0000000..58133ae --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/container_virtualization.xml @@ -0,0 +1,136 @@ + + + + Container Virtualization + +
+ Docker + + Docker is an open-source project that automates the deployment of + applications inside software containers, by providing an additional layer + of abstraction and automation of operating-system-level virtualization on + Linux. + + The software container mechanism uses resource isolation features + inside the Linux kernel, such as cgroups and kernel namespaces to allow + multiple containers to run within a single Linux instance, avoiding the + overhead of starting and maintaining virtual machines. + + Containers are lightweight and include everything needed to run + themselves: code, runtime, system tools, system libraries and settings. + The main advantage provided by containers is that the encapsulated + software is isolated from its surroundings. For example, differences + between development and staging environments can be kept separate in order + to reduce conflicts between teams running different software on the same + infrastructure. + + For a better understanding of what Docker is and how it works, the + official documentation provided on the Docker website should be consulted: + https://docs.docker.com/. + +
+ Launching a Docker container + + Docker provides a hello-world container which checks whether your + system is running the daemon correctly. This container can be launched + by simply running: + + docker run hello-world + + If your installation is working correctly, the following message + should be outputted:Hello from Docker! +
+ +
+ Run an Enea NFV Access guest image + + Enea NFV Access guest images can run inside Docker as any + other container can. Before starting an Enea NFV Access guest + image, a root filesystem has to be imported in Docker: + + docker import enea-linux-virtualization-guest-qemux86-64.tar.gz el7guest + + To check that the Docker image has been imported successfully, + run: + + docker images + + Finally, start an Enea NFV Access container with + bash running as the shell, by running: + + docker run -it el7guest /bin/bash +
+ +
+ Attach external resources to Docker containers + + Any system resource present on the host machine can be attached or + accessed by a Docker container. + + Typically, if a file or folder on the host machine needs to be + attached to a container, that container should be launched with the + -v parameter. For example, to attach the + roots home folder to a container, the command line + for Docker should have the following format: + + docker run -it -v /home/root:/home/host_root/ el7guest /bin/bash + + To check that folders have been properly passed from the host to + the container, create a file in the source folder on the host root + filesystem and check for its existence inside the containers destination + location. + +
+ Attach vhost file descriptors + + If OVS is running on the host and vhost file descriptors need to + be passed to the container, this can be done by either mapping the + folder where all the file descriptors are located or mapping the file + descriptor itself: + + + + Mapping the folder can be done as exemplified above: + + docker run -it --rm -v /var/run/openvswitch/:/var/run/openvswitch/ el7guest /bin/bash + + + + Mapping a file descriptor is done in a similar way, but the + -v flag needs to point directly to it: + + docker run -it --rm -v /var/run/openvswitch/vhost-user1 el7guest /bin/bash + + +
+ +
+ Attach hugepages mount folders + + Hugepages mount folders can also be accessed by a container + similarly to how a plain folder is mapped, as shown in 1.3. + + For example, if the host system has hugepages mounted in the + /mnt/huge location, a container can also access + hugepages by being launched with: + + docker run -it -v /mnt/huge el7guest /bin/bash +
+ +
+ Access the PCI bus + + If the host machine has multiple SRIOV instances created, a + container can access the instances by being given privileged access to + the host system. Unlike folders, PCI devices do not have to be mounted + explicitly in order to be accessed and will be available to the + container if the --privileged flag is passed to the + command line: + + docker run --privileged -it el7guest /bin/bash +
+
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/dpdk.xml b/doc/book-enea-nfv-access-guide/doc/dpdk.xml new file mode 100644 index 0000000..c9746a4 --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/dpdk.xml @@ -0,0 +1,119 @@ + + + + Data Plane Development Kit + + The Intel Data Plane Development Kit (DPDK) is a set of user-space + libraries and drivers that provides a programming framework for high-speed + packet processing applications. The DPDK includes a number of Poll Mode + Drivers that enable direct packet transfer between the physical NIC and + user-space without using interrupts, bypassing the Linux kernel network + stack entirely. + + In order to take advantage of DPDK, Linux huge + pages must be enabled in the system. The allocation of huge pages + should preferably be done at boot time by passing parameters on the kernel + command line. Add the following to the kernel boot parameters: + + default_hugepagesz=1GB hugepagesz=1GB hugepages=8 hugepagesz=2M hugepages=2048 + + For DPDK documentation, see http://dpdk.org/doc/guides-17.02/index.html + +
+ Pktgen + + In addition to DPDK, Enea NFV Access includes Pktgen, a + software traffic generator that is powered by the DPDK packet processing + framework. Pktgen can act as a transmitter or receiver and is capable of + generating 10Gbit wire rate traffic with 64 byte frames. + + Pktgen is installed in /usr/share/apps/pktgen/ + and needs to be executed from this directory. + + For Pktgen documentation, see http://pktgen-dpdk.readthedocs.io +
+ +
+ DPDK setup instructions + + The following setup instructions apply to both host and + guest. + + + + To make the hugepage memory available for DPDK, it must be + mounted: + + mkdir /mnt/huge +mount -t hugetlbfs nodev /mnt/huge + + + + Load the DPDK igb_uio kernel module: + + modprobe igb_uio + + + + Bind the device to the igb_uio driver: + + dpdk-devbind --bind=igb_uio <PCI device number>The + DPDK provides the dpdk-devbind tool to help binding/unbinding devices + from specific drivers. See http://dpdk.org/doc/guides-17.02/tools/devbind.html + for more information. + + + + To print the current status of all known network + interfaces:dpdk-devbind --status + + At this point the system is ready to run DPDK applications. +
+ +
+ DPDK example test setup + + This is a simple DPDK test setup using two boards connected + back-to-back. One board generates traffic using the Pktgen application, + and the other board runs the DPDK testpmd example to forward packets back + on the same interface. + + Pktgen [DPDK] - Board 1 PHY <--> Board 2 PHY - [DPDK] testpmd + + + + Setup DPDK on both boards, following the instructions in + [FIXME]: + + + + On board 1, start the Pktgen application: + + cd /usr/share/apps/pktgen/ +./pktgen -c 0x7 -n 4 --socket-mem 1024 -- -P -m "[1:2].0" + + In the Pktgen console, run: + + start 0 + + The Pktgen output will display the traffic configuration and + statistics. + + + + On board 2, start the testpmd application: + + testpmd -c 0x7 -n 4 -- --txd=512 --rxd=512 --port-topology=chained + + For more information, refer to the testpmd application user + guide: http://dpdk.org/doc/guides-17.02/testpmd_app_ug/index.html. + + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-guide/doc/eltf_params_template.xml new file mode 100644 index 0000000..278ad71 --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/eltf_params_template.xml @@ -0,0 +1,151 @@ + + +
+ File with Parameters in the Book Auto-updated by ELFT + + + See the eltf_params_updated_template_howto_use.txt text + file for description of how to create the final eltf_params_updated.xml from this template and for + all REQUIREMENTS. Use the command + "make eltf" to extract a full list of all + ELTF variables, which always begins with ELTF_ and don't only rely on the + howto text file list! The plan is that ELTF will auto-update this when + needed. + + +
+ Common Parameters + + A programlisting, ID + "eltf-prereq-apt-get-commands-host" + + ELTF_PL_HOST_PREREQ + + A programlisting, ID + "eltf-getting-repo-install-command" + + ELTF_PL_GET_REPO + + Several phrase elements, various IDs. Ensure EL_REL_VER is + correct also compared to the "previous" REL VER in pardoc-distro.xml + "prev_baseline". + + ELTF_EL_REL_VER + + ELTF_YOCTO_VER + + ELTF_YOCTO_NAME + + ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL + + ELTF_EL_DOWNLOAD_TXTURL + + A programlisting, ID "eltf-repo-cloning-enea-linux". Use + $MACHINE/default.xml as parameter, where MACHINE is one of the target + directory names in the manifest. + + ELTF_PL_CLONE_W_REPO + + A table with ONE row, only the row with ID + "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the + template.xml and in the updated.xml, set condition hidden on the + <row>, if eclipse is not in the release. + + + + + + Eclipse version ELTF_ECLIPSE_VERSION plus command line + development tools are included in this Enea Linux release. + + + + + + Below is one big section with title "Supported Targets with + Parameters". The entire section is included completely in the book via ID + "eltf-target-tables-section" and shall be LAST in the template. The + template contains ONE target subsection. COPY/APPEND it, if multiple + targets exist in the release and optionally add rows with additional + target parameters in each target subsection table. +
+ +
+ Supported Targets with Parameters + + The tables below describes the target(s) supported in this Enea + Linux release. + +
+ MACHINE ELTF_T_MANIFEST_DIR - Information + + + + + + + + + + Target official name + + ELTF_T_NAME + + + + Architecture and Description + + ELTF_T_ARC_DESC + + + + Link to target datasheet + + See ELTF_T_DS_TXTURL + + + + Poky version + + ELTF_T_POKY_VER + + + + GCC version + + ELTF_T_GCC_VER + + + + Linux Kernel Version + + ELTF_T_KERN_VER + + + + Supported Drivers + + ELTF_T_DRIVERS + + + + Enea rpm folder for downloading RPM packages for this + target + + ELTF_T_EL_RPM_TXTURL + + + + +
+ + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-guide/doc/eltf_params_updated.xml new file mode 100644 index 0000000..31a251d --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/eltf_params_updated.xml @@ -0,0 +1,165 @@ + + +
+ File with Parameters in the Book Auto-updated by ELFT + + + See the eltf_params_updated_template_howto_use.txt text + file for description of how to create the final eltf_params_updated.xml from this template and for + all REQUIREMENTS. Use the command + "make eltf" to extract a full list of all + ELTF variables, which always begins with ELTF_ and don't only rely on the + howto text file list! The plan is that ELTF will auto-update this when + needed. + + +
+ Common Parameters + + A programlisting, ID + "eltf-prereq-apt-get-commands-host" + + # Host Ubuntu 14.04.5 LTS 64bit +sudo apt-get -y update +sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \ + texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ + make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ + libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ + libxml-parser-perl + + A programlisting, ID + "eltf-getting-repo-install-command" + + mkdir -p ~/bin +curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo +chmod a+x ~/bin/repo +export PATH=~/bin:$PATH + + Several phrase elements, various IDs. Ensure EL_REL_VER is + correct also compared to the "previous" REL VER in pardoc-distro.xml + "prev_baseline". + + 1.0 + + 2.1 + + krogoth + + http://www.yoctoproject.org/downloads/core/krogoth/21 + + https://linux.enea.com/6 + + A programlisting, ID "eltf-repo-cloning-enea-linux". Use + $MACHINE/default.xml as parameter, where MACHINE is one of the target + directory names in the manifest. + + mkdir enea-linux +cd enea-linux +repo init -u git://git.enea.com/linux/el_manifests-networking.git \ + -b refs/tags/EL6 -m $MACHINE/default.xml +repo sync + + A table with ONE row, only the row with ID + "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set + condition hidden if eclipse is not in the release. Do this both in + template.xml and updated.xml. + + + + + + Eclipse version 4.3 (Mars) plus command line development + tools are included in this Enea Linux release. + + + + + + Below is one big section with title "Supported Targets with + Parameters". The entire section is included completely in the book via ID + "eltf-target-tables-section" and shall be LAST in the template. The + template contains ONE target subsection. COPY/APPEND it, if multiple + targets exist in the release and optionally add rows with additional + target parameters in each target subsection table. +
+ +
+ Supported Targets with Parameters + + The tables below describes the target(s) supported in this Enea + Linux release. + +
+ MACHINE p2041rdb - Information + + + + + + + + + + Target official name + + P2041RDB + + + + Architecture and Description + + Power, e500mc + + + + Link to target datasheet + + See link + to NXP's datasheet + + + + Poky version + + Git-commit-id: + 75ca53211488a3e268037a44ee2a7ac5c7181bd2 + + + + GCC version + + 5.3 + + + + Linux Kernel Version + + 3.12 + + + + Supported Drivers + + Ethernet, I2C, SPI, PCI Express, USB, Flash, + SD/SDHC/SDXC, RTC + + + + Enea rpm folder for downloading RPM packages for this + target + + https://linux.enea.com/6/p2041rgb/rpm + + + + +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-guide/doc/eltf_params_updated_template_how_to_use.txt new file mode 100644 index 0000000..7f1d3cb --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/eltf_params_updated_template_how_to_use.txt @@ -0,0 +1,320 @@ +eltf_params_template_updated_howto_use.txt + +This is a way to collect all parameters for an Enea Linux release +in one parameter file, easy to automatically update by ELTF regularly. + +NOTE: Both the release info AND the open source books use parameters from + here, but the XML file is inside the release info book directory. + +NOTE: The manifest_conf.mk, or overridden by the environment variable + MANIFESTHASH, contains the full tag (or hashvalue) for downloading + the manifest when the books are built. The list of target + directories are fetched from the manifest into the book. + The eltf_params_updates.xml can all the time contain + the final next complete tag e.g. refs/tags/EL6 or similar + in the ELTF_PL_CLONE_W_REPO parameter command lines. + +The ordinary book XML files use xi:include statements to include elements +from this parameter file. The book XML files can thus be manually edited. +Before editing, you must run "make init". +Any other text in the template or updated.xml file, outside the parts that +are included in the book, are not used but still all must be correct +DocBook XML files. + +ELTF work: + template => ELTF replaces ALL ELTF_xxx variables => updated XML file + => push to git only if changed + + +eltf_params_template.xml (in git) + File used by ELTF to autocreate/update the real parameter + file eltf_params_updated.xml. + +eltf_params_updated.xml (in git) + Real parameter file where ELTF has replaced all ELTF_xx variables with + strings, in several cases with multiline strings. + No spaces or linefeed allowed in beginning or end of the variable values! + + +xi:include: Each parameter is xi:include'ed in various book files, using + the IDs existing in the parameter files. + In most cases the 1:st element inside an element with an ID is included + using a format like eltf-prereq-apt-get-commands-host/1. + In very few cases the element with the ID is included in the book, one + example is the target section which has an ID, but which contains + multiple subsections, one per target. + All IDs in a book must be unique. + +DocBook XML: All XML files must be correct DocBook XML files. + +Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes + not done by ELTF. But it is OK to open the real file in XMLmind to + check that the format is correct. + +ELTF should autocreate a temporary "real" file but only replace + and push the eltf_params_updated.xml if it is changed. + + +make eltf + This lists all ELTF_xxx variables and some rules how to treat them + +DocBook Format: All elements - rules: + Several strict generic XML rules apply for all strings: + 1. No TABs allowed or any other control chr than "linefeed" + 2. Only 7-bit ASCII + 3. Any < > & must be converted to < > and & + Similar for any other non-7-bit-ASCII but avoid those! + 4. No leading spaces or linefeeds when replacing the ELTF_* variable + 5. No trailing spaces or linefeeds when replacing the ELTF_* variable + 6. Note: Keep existing spaces before/efter ELTF_* in a few cases. + +DocBook Format: - rules: ELTF*PL* variables + Several strict rules apply for the multiline string in programlisting + in addition to the general XML rules above: + 7. Max line length < 80 char + 8. Use backslash (\) to break longer lines + 9. Use spaces (e.g. 4) to indent continuation lines in programlistings + 10. No trailing spaces on any line + 11. No spaces or linefeed immediately after leading + 12. No spaces or linefeed before trailing + +DocBook Format: - rules: ELTF_*URL* variables + 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings + 14. Only if the URL is extremely long, the TXTURL can be a separate string + +Each target has one section with target parameters: +
+ MACHINE ELTF_T_MANIFEST_DIR - Information + ..... with many ELTF_ variables .... +
+ + 15. If there is only one target. ELTF just replaces ELTF parameters + + 16. It there are multiple targets. ELTF copies the section and appends the + section the required number of times. + Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR + Each section title will become unique + +Tables with target parameters in each target section: + 17. It is possible for ELTF to append more rows with one parameter each + to these tables, because the entire tables are included in the book + +Special - NOT YET READY DEFINED how to handle the optionally included + Eclipse and its version, but this is a first suggestion: + 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string + with both version number and name, + 19. MANUALLY if Eclipse is NOT included in the release, + the release manager should manually set condition="hidden" on + the entire section in the book XML about Eclipse + + + +BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf +if there are more new variables, missing in this description file. + +_____________________________________________________________________________ +ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands + like sudo apt-get install xxxx or similar. + First line = comment with the complete host name! + It is possible to include multiple hosts by just + adding an empty line, comment with host name, etc. + xi:include eltf-prereq-apt-get-commands-host/1 + This is a ... + Example: +# Host Ubuntu 14.04.5 LTS 64bit +sudo apt-get update +sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \ + texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ + make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ + libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ + libxml-parser-perl + +_____________________________________________________________________________ +ELTF_PL_GET_REPO Multiline commands to download the repo tool + xi:include eltf-getting-repo-install-command/1 + This is a ... + Example: +mkdir -p ~/bin +curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo +chmod a+x ~/bin/repo +export PATH=~/bin:$PATH + +_____________________________________________________________________________ +ELTF_EL_REL_VER General parameter string: The version of this Enea + Linux release. Major version and optional .Minor + Typically created from MAJOR and MINOR in enea.conf + MINOR in enea.conf is empty or contains a dot+minor + xi_include EneaLinux_REL_VER/1 + This is a X.x used in many places. + Examples: +6 + or +6.1 + +_____________________________________________________________________________ +ELTF_YOCTO_VER General parameter string: Yocto version, created + from DISTRO in poky.ent + xi:include Yocto_VER/1 + This is a X.x used in many places. + Example: +2.1 + +_____________________________________________________________________________ +ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created + from DISTRO_NAME_NO_CAP in poky.ent + xi:include Yocto_NAME/1 + This is a X.x used in many places. + Example: +krogoth + +_____________________________________________________________________________ +ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL +ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string + at the end, typically without "dot". + xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1 + This is an ... + Example: +http://www.yoctoproject.org/downloads/core/krogoth/21 + +_____________________________________________________________________________ +ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings +ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where + Enea Linux can be downloaded + Often containing same version as in ELTF_EL_REL_VER + xi:include ULINK_ENEA_LINUX_URL/1 + This is an ... + Example: +http://linux.enea.com/6 + +_____________________________________________________________________________ +ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything. + Use the variable $MACHINE/default.xml (the text in + the book will list the avaiable values of MACHINE, + taken from the manifest repository) + xi:include eltf-repo-cloning-enea-linux/1 + This is a ... + Example: +mkdir enea-linux +cd enea-linux +repo init -u git://git.enea.com/linux/el_manifests-standard.git \ + -b refs/tags/EL6 -m $MACHINE/default.xml +repo sync + +_____________________________________________________________________________ +ELTF_ECLIPSE_VERSION Optional general parameter string. + NOT YET READY DEFINED + Just now a release manage must manually set + condition="hidden" on the Eclipse section, + if Eclipse is not included in the release. + ELTF just replaces ELTF_ECLIPSE_VERSION with a full + string with "X.Y (name)" + It includes the ID and can only be ONCE in the book. + xi:include eltf-eclipse-version-row + Example. +4.5 (Mars) + + +_____________________________________________________________________________ +ELTF_T_* All these are in each target (MACHINE) and ELTF + must separately replace them with strings for + each target + NOTE: All (except the MANIFEST_DIR) are in rows + in a table and ELTF can select to append + more parameters by adding more rows + +_____________________________________________________________________________ +ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly +ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same + as the MACHINE names in $MACHINE/default.xml. + In book: a) Part of section ID + b) Part of section title + Examples: +p2041rgb + or +ls1021aiot + or +qemuarm + +_____________________________________________________________________________ +ELTF_T_NAME Target specific: "Target Official Name" + NOT same as the target directory name in most cases. + In book: An element in a row + Examples: +P2041RGB + or +LS1021a-IoT + or +qemuarm + +_____________________________________________________________________________ +ELTF_T_ARC_DESC Target specific: "Architecture and Description" + It can be a short identification string or + it can be a longer descriptive sentence. + In book: An element in a row + Examples: +Power, e500mc + or +ARM Cortex-A7 + +_____________________________________________________________________________ +ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These +ELTF_T_DS_URL two usually are IDENTICAL strings with correct + hyperlink to the target's official datasheet. + In book: an ... + Only if the link is VERY LONG, the text part shall + instead be a descriptive string (see 2:nd example). + NOTE: Also here no spaces or line-feeds! + Examples: +url="http://wiki.qemu.org">http://wiki.qemu.org +or +url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet + +_____________________________________________________________________________ +ELTF_T_POKY_VER Target specific: "Poky version" created either + from POKYVERSION in poky.ent + or using a hashvalue with a leading string, in + which case it may be different per target. + In book: An in a row + Examples: +15.0.0 +or +Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 + +_____________________________________________________________________________ +ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky + but not easy to find among various parameters. + ELTF would extract it from build logs building SDK + and it is possibly different per target. + In book: An in a row + Example: +5.3 + +_____________________________________________________________________________ +ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often + different per target. + In book: An in a row + Example: +3.12 + +_____________________________________________________________________________ +ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a + comma-separated list of driver names. + ELTF should create the list in same order for each + target, e.g. alphabetic migth be OK. + In book: An in a row + Example: +Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC + + +_____________________________________________________________________________ +ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading +ELTF_T_EL_RPM_URL RPM packages for this target". These two are + INDENTICAL strings with hyperlink to the web site + at Enea where the customer can download RPMs + Note: Often the ELFT_EL_REL_VER value and + the ELTF_T_MANIFEST_DIR are used in the link. + In book: an ... + Example: +url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm + +_____________________________________________________________________________ diff --git a/doc/book-enea-nfv-access-guide/doc/getting_started.xml b/doc/book-enea-nfv-access-guide/doc/getting_started.xml new file mode 100644 index 0000000..524741a --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/getting_started.xml @@ -0,0 +1,340 @@ + + + + Getting Started with ENFV Access + +
+ NFV Access Release content + + The NFV Access 1.0 Release contains along with other items, + documentation, pre-built kernels and images, a bootloader and a + SDK. + + The directories structure is detailed below: + + -- documentation/ + /* NFV Access documentation */ +-- inteld1521/ + /* artifacts for the host side */ + -- deb/ + /* deb packages */ + -- images/ + -- enea-image-virtualization-host + /* precompiled artifacts for the Host release image */ + -- various artifacts + -- enea-image-virtualization-host-sdk + /* precompiled artifacts for the Host SDK image. + The SDK image contains userspace tools and kernel + configurations necessary for developing, debugging + and profiling applications and kernel modules */ + -- various artifacts + -- sdk + /* NFV Access SDK for the host */ + -- enea-glibc-x86_64-enea-image-virtualization-host-sdk / + -corei7-64-toolchain-7.0.sh + /* self-extracting archive installing + cross-compilation toolchain for the host */ +-- qemux86-64 + /* artifacts for the guest side */ + -- deb/ + /* deb packages */ + -- images/ + -- enea-image-virtualization-guest + /* precompiled artifacts for the Guest image */ + -- various artifacts + -- sdk + /* NFV Access SDK for the guest */ + -- enea-glibc-x86_64-enea-image-virtualization-guest-sdk / + -core2-64-toolchain-7.0.sh + /* self-extracting archive installing cross-compilation + toolchain for the guest (QEMU x86-64) */ + + + For each combination of image and target, the following set of + artifacts is available: + + -- bzImage + /* kernel image */ +-- bzImage-<target>.bin + /* kernel image, same as above */ +-- config-<target>.config + /* kernel configuration file */ +-- core-image-minimal-initramfs-<target>.cpio.gz + /* cpio archive of the initramfs */ +-- core-image-minimal-initramfs-<target>.qemuboot.conf + /* qemu config file for the initramfs image */ +-- <image-name>-<target>.ext4 + /* EXT4 image of the rootfs */ +-- <image-name>-<target>.hddimg + /* msdos filesystem containing syslinux, kernel, initrd and rootfs image */ +-- <image-name>-<target>.iso + /* CD .iso image */ +-- <image-name>-<target>.qemuboot.conf + /* qemu config file for the image */ +-- <image-name>-<target>.tar.gz + /* tar archive of the image */ +-- <image-name>-<target>.wic + /* Wic image */ +-- microcode.cpio + /* kernel microcode data */ +-- modules-<target>.tgz + /* external kernel modules */ +-- ovmf.*.qcow2 + /* ovmf firmware for uefi support in qemu */ +-- rmc.db + /* Central RMC Database */ +-- systemd-bootx64.efi + /* systemd-boot EFI file */ +-- grub-efi-bootx64.efi + /* GRUB EFI file */ +
+ +
+ Included Documention + + Enea NFV Access is provided with the following set of + documents: + + + + Enea NFV Access Guide – A document describing the Enea NFV + Access release content and how to use it, as well as benchmark + results. + + + + Enea NFV Access Open Source Report – A document containing + the open source and license information pertaining to packages + provided with Enea NFV Access 1.0. + + + + Enea NFV Access Test Report – The document that summarizes + the test results for the Enea NFV Access release. + + + + Enea NFV Access Security Report – The document that lists + all security fixes included in the Enea NFV Access 1.0 release. + + +
+ +
+ How to use the Prebuilt Artifacts + +
+ Booting Enea NFV Access using RAMDISK + + There may be use cases, especially at first target ramp-up, where + the HDD/SDD has no partitions and you need to prepare the disks for + boot. Booting from ramdisk can help with this task. + + The prerequisites needed to proceed: + + + + Enea Linux ext4 rootfs image - + enea-image-virtualization-host-inteld1521.ext4 + + + + Enea Linux kernel image - bzImage + + + + BIOS has PXE boot enabled + + + + PXE/tftp server configured and connected (ethernet) to + target. + + + + Copy bzImage and enea-image-virtualization-host-inteld1521.ext4.gz + images to the tftpserver configured for PXE boot. + + Use the following as an example for the PXE configuration + file: + + default vesamenu.c32 +prompt 1 +timeout 0 + +label el_ramfs + menu label ^EneaLinux_RAMfs + kernel bzImage + append root=/dev/ram0 initrd=enea-image-virtualization-host-inteld1521.ext4 / + ramdisk_size=1200000 console=ttyS0,115200 eralyprintk=ttyS0,115200 + + Restart the target. Then enter (F11) in the Boot Menu and select + the Ethernet interface used for PXE boot. From the PXE Boot Menu select + Enea Linux_RAMfs. Once the Enea NFV + Access is started you can partition the HDD/SDD and install + GRUB as described in in the following section. +
+ +
+ Partitioning a new harddisk and installing GRUB + + The prerequisites needed: + + + + grub (grub-efi-bootx64.efi) - availalble as + a pre-built artifact under + inteld1521/images/enea-image-virtualization-host. + + + + e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb,/ + + dosfstools_4.1-r0.0_amd64.deb - available + under inteld1521/deb. + + + + Proceed using the following steps: + + + + Boot target with Enea NFV Access from RAMDISK + + + + Install prerequisite packages: + + > dpkg -i e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb +> dpkg -i dosfstools_4.1-r0.0_amd64.deb + + + + Partition the disk: + + > fdisk /dev/sda +fdisk> g {GPT partition type} +fdisk> n +fdisk> 1 +fdisk> {default start part} +fdisk> +512M +fdisk> t +fdisk> 1 {ESP/EFI partition} +fdisk> n +fdisk> 2 +fdisk> {default start part} +fdisk> +18G +fdisk> 3 +fdisk> {default start part} +fdisk> +20G +... +fdisk> 7 +fdisk> {default start part} +fdisk> {default end end part} + +fdisk> p {print partion table} +fdisk> w {write to disk} +fdisk> q + + + + Format the partitions: + + > mkfs.fat -F32 -nEFI /dev/sda1 +> mkfs.ext4 -LROOT /dev/sda2 +> mkfs.ext4 -LROOT /dev/sda3 +> mkfs.ext4 -LROOT /dev/sda4 +> mkfs.ext4 -LROOT /dev/sda5 +> mkfs.ext4 -LROOT /dev/sda6 +> mkfs.ext4 -LROOT /dev/sda7 + + + + Create a GRUB partition: + + > mkdir /mnt/boot +> mount /dev/sda1 /mnt/boot +> mkdir -p /mnt/boot/EFI/boot + +> cp grub-efi-bootx64.efi /mnt/boot/EFI/boot/bootx64.efi +> vi /mnt/boot/EFI/boot/grub.cfg +default=1 + +menuentry "Linux Reference Image" { + linux (hd0,gpt2)/boot/bzImage root=/dev/sda2 ip=dhcp +} + +menuentry "Linux sda3" { + linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp +} + +menuentry "Linux sda4" { + linux (hd0,gpt4)/boot/bzImage root=/dev/sda4 ip=dhcp +} + +menuentry "Linux sda5" { + linux (hd0,gpt5)/boot/bzImage root=/dev/sda5 ip=dhcp +} + +menuentry "Linux sda6" { + linux (hd0,gpt6)/boot/bzImage root=/dev/sda6 ip=dhcp +} + +menuentry "Linux sda7" { + linux (hd0,gpt7)/boot/bzImage root=/dev/sda7 ip=dhcp +} + + +
+ +
+ Installing and booting Enea NFV Access on the + harddisk + + After partitioning the harddisk, boot Enea NFV Access + from RAMFS or from a reference image installed on one of the + partitions. + + To install Enea NFV Access image on a partition follow these + steps: + + + + Copy your image on target: + + server> scp ./enea-image-virtualization-host-inteld1521.tar.gz / +root@<target_ip>:/home/root/ + + + + Extract image onto the desired partition: + + target> mount /dev/sda3 /mnt/sda +target> tar -pzxf /home/root/enea-image-virtualization-host-inteld1521.tar.gz / +-C /mnt/sda + + Alternately, you can do both steps in one command from the + server: + + server> cat ./enea-image-virtualization-host-inteld1521.tar.gz | / +ssh root@<target_ip> "cd /mnt/sda6; tar -zxf -" + + + + Reboot + + + + From the GRUB menu select your partition + + + + + In order to change kernel boot parameters you need to mount the + GRUB partition (i.e. /dev/sda1) and change the + EFI/boot/grub.cfg file. + +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml b/doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml new file mode 100644 index 0000000..f7f186c --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/hypervisor_virtualization.xml @@ -0,0 +1,741 @@ + + + + Hypervisor Virtualization + + The KVM, Kernel-based Virtual Machine, is a virtualization + infrastructure for the Linux kernel which turns it into a hypervisor. KVM + requires a processor with a hardware virtualization extension. + + KVM uses QEMU, an open source machine emulator and virtualizer, to + virtualize a complete system. With KVM it is possible to run multiple guests + of a variety of operating systems, each with a complete set of virtualized + hardware. + +
+ Launching a Virtual Machine + + QEMU can make use of KVM when running a target architecture that is + the same as the host architecture. For instance, when running + qemu-system-x86_64 on an x86-64 compatible processor (containing + virtualization extensions Intel VT or AMD-V), you can take advantage of + the KVM acceleration, giving you benefit for your host and your guest + system. + + Enea Linux includes an optimizied version of QEMU with KVM-only + support. To use KVM pass --enable-kvm to QEMU. + + The following is an example of starting a guest: + + taskset -c 0,1 qemu-system-x86_64 \ +-cpu host -M q35 -smp cores=2,sockets=1 \ +-vcpu 0,affinity=0 -vcpu 1,affinity=1 \ +-enable-kvm -nographic \ +-kernel bzImage \ +-drive file=enea-image-virtualization-guest-qemux86-64.ext4,if=virtio,format=raw \ +-append 'root=/dev/vda console=ttyS0,115200' \ +-m 4096 \ +-object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \ +-numa node,memdev=mem -mem-prealloc +
+ +
+ Main QEMU boot options + + Below are detailed all the pertinent boot options for the QEMU + emulator: + + + + SMP - at least 2 cores should be enabled in order to isolate + application(s) running in virtual machine(s) on specific cores for + better performance. + + -smp cores=2,threads=1,sockets=1 \ + + + + CPU affinity - associate virtual CPUs with physical CPUs and + optionally assign a default real time priority to the virtual CPU + process in the host kernel. This option allows you to start qemu vCPUs + on isolated physical CPUs. + + -vcpu 0,affinity=0 \ + + + + Hugepages - KVM guests can be deployed with huge page memory + support in order to reduce memory consumption and improve performance, + by reducing CPU cache usage. By using huge pages for a KVM guest, less + memory is used for page tables and TLB (Translation Lookaside Buffer) + misses are reduced, thereby significantly increasing performance, + especially for memory-intensive situations. + + -object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \ + + + + Memory preallocation - preallocate huge pages at startup time + can improve performance but it may affect the qemu boot time. + + -mem-prealloc \ + + + + Enable realtime characteristics - run qemu with realtime + features. While that mildly implies that "-realtime" alone might do + something, it's just an identifier for options that are partially + realtime. If you're running in a realtime or low latency environment, + you don't want your pages to be swapped out and mlock does that, thus + mlock=on. If you want VM density, then you may want swappable VMs, + thus mlock=off. + + -realtime mlock=on \ + + + + If the hardware does not have an IOMMU (known as "Intel VT-d" on + Intel-based machines and "AMD I/O Virtualization Technology" on AMD-based + machines), it will not be possible to assign devices in KVM. + Virtualization Technology features (VT-d, VT-x, etc.) must be enabled from + BIOS on the host target before starting a virtual machine. +
+ +
+ Networking in guest + +
+ Using vhost-user support + + The goal of vhost-user is to implement a Virtio transport, staying + as close as possible to the vhost paradigm of using shared memory, + ioeventfds and irqfds. A UNIX domain socket based mechanism allows the + set up of resources used by a number of Vrings shared between two + userspace processes, which will be placed in shared memory. + + To run QEMU with the vhost-user backend, you have to provide the + named UNIX domain socket which needs to be already opened by the + backend: + + -object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \ +-chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 \ +-netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce \ +-device virtio-net-pci,netdev=mynet1,mac=52:54:00:00:00:01 \ + + The vHost User standard uses a client-server model. The server + creates and manages the vHost User sockets and the client connects to + the sockets created by the server. It is recommended to use QEMU as + server so the vhost-user client can be restarted without affecting the + server, otherwise if the server side dies all clients need to be + restarted. + + Using vhost-user in QEMU as server will offer the flexibility to + stop and start the virtual machine with no impact on virtual switch from + the host (vhost-user-client). + + -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1,server \ +
+ +
+ Using TAP Interfaces + + QEMU can use TAP interfaces to provide full networking capability + for the guest OS: + + -netdev tap,id=net0,ifname=tap0,script=no,downscript=no \ +-device virtio-net-pci,netdev=net0,mac=22:EA:FB:A8:25:AE \ +
+ +
+ VFIO passthrough VF (SR-IOV) to guest + + KVM hypervisor support for attaching PCI devices on the host + system to guests. PCI passthrough allows guests to have exclusive access + to PCI devices for a range of tasks. PCI passthrough allows PCI devices + to appear and behave as if they were physically attached to the guest + operating system. + + Preparing an Intel system for PCI passthrough: + + + + Enable the Intel VT-d extensions in BIOS + + + + Activate Intel VT-d in the kernel by using + intel_iommu=on as a kernel boot parameter + + + + Allow unsafe interrupts in case the system doesn't support + interrupt remapping. This can be done using + vfio_iommu_type1.allow_unsafe_interrupts=1 as a + boot kernel parameter. + + + + Create guest with direct passthrough via VFIO framework like + so: + + -device vfio-pci,host=0000:03:10.2 \ + + On the host, one or more VirtualFunctions (VFs) must be created in + order to be allocated for a guest network to access, before starting + QEMU: + + $ echo 2 > /sys/class/net/eno3/device/sriov_numvfs +$ modprobe vfio_pci +$ dpdk-devbind.py --bind=vfio-pci 0000:03:10.2 +
+ +
+ Multi-queue + +
+ QEMU multi queue support configuration + + -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 \ +-netdev type=vhost-user,id=net0,chardev=char0,queues=2 \ +-device virtio-net-pci,netdev=net0,mac=22:EA:FB:A8:25:AE,mq=on,vectors=6 +where vectors is calculated as: 2 + 2 * queues number. +
+ +
+ Inside guest + + Linux kernel virtio-net driver (one queue is enabled by + default): + + $ ethtool -L combined 2 eth0 +DPDK Virtio PMD +$ testpmd -c 0x7 -- -i --rxq=2 --txq=2 --nb-cores=2 ... + + For QEMU documentation please see: https://qemu.weilnetz.de/doc/qemu-doc.html. +
+
+
+ +
+ Libvirt + + One way to manage guests in Enea NFV Access is by using + libvirt. Libvirt is used in conjunction with a daemon + (libvirtd) and a command line utility (virsh) to manage + virtualized environments. + + The libvirt library is a hypervisor-independent virtualization API + and toolkit that is able to interact with the virtualization capabilities + of a range of operating systems. Libvirt provides a common, generic and + stable layer to securely manage domains on a node. As nodes may be + remotely located, libvirt provides all methods required to provision, + create, modify, monitor, control, migrate and stop the domains, within the + limits of hypervisor support for these operations. + + The libvirt daemon runs on the Enea NFV Access host. All tools built + on libvirt API connect to the daemon to request the desired operation, and + to collect information about the configuration and resources of the host + system and guests. virsh is a command line interface + tool for managing guests and the hypervisor. The virsh tool is built on + the libvirt management API. + + Major functionality provided by + libvirt + + The following is a summary from the libvirt home + page describing the major libvirt features: + + + + VM management: Various domain + lifecycle operations such as start, stop, pause, save, restore, and + migrate. Hotplug operations for many device types including disk and + network interfaces, memory, and cpus. + + + + Remote machine support: All + libvirt functionality is accessible on any machine running the libvirt + daemon, including remote machines. A variety of network transports are + supported for connecting remotely, with the simplest being + SSH, which requires no extra explicit + configuration. For more information, see: http://libvirt.org/remote.html. + + + + Network interface management: + Any host running the libvirt daemon can be used to manage physical and + logical network interfaces. Enumerate existing interfaces, as well as + configure (and create) interfaces, bridges, vlans, and bond devices. + For more details see: https://fedorahosted.org/netcf/. + + + + Virtual NAT and Route based + networking: Any host running the libvirt daemon can manage + and create virtual networks. Libvirt virtual networks use firewall + rules to act as a router, providing VMs transparent access to the host + machines network. For more information, see: http://libvirt.org/archnetwork.html. + + + + Storage management: Any host + running the libvirt daemon can be used to manage various types of + storage: create file images of various formats (raw, qcow2, etc.), + mount NFS shares, enumerate existing LVM volume groups, create new LVM + volume groups and logical volumes, partition raw disk devices, mount + iSCSI shares, and much more. For more details, see: http://libvirt.org/storage.html. + + + + Libvirt Configuration: A + properly running libvirt requires that the following elements be in + place: + + + + Configuration files, located in the directory + /etc/libvirt. They include the daemon's + configuration file libvirtd.conf, and + hypervisor-specific configuration files, like + qemu.conf for the QEMU. + + + + A running libvirtd daemon. The daemon is started + automatically in Enea NFV Access host. + + + + Configuration files for the libvirt domains, or guests, to + be managed by the KVM host. The specifics for guest domains shall + be defined in an XML file of a format specified at http://libvirt.org/formatdomain.html. + XML formats for other structures are specified at http://libvirt.org/format.html. + + + + + +
+ Booting a KVM Guest + + There are several ways to boot a KVM guest. Here we describe how + to boot using a raw image. A direct kernel boot can be performed by + transferring the guest kernel and the file system files to the host and + specifying a <kernel> and an + <initrd> element inside the + <os> element of the guest XML file, as in the + following example: + + <os> + <kernel>bzImage</kernel> +</os> +<devices> + <disk type='file' device='disk'> + <driver name='qemu' type='raw' cache='none'/> + <source file='enea-image-virtualization-guest-qemux86-64.ext4'/> + <target dev='vda' bus='virtio'/> + </disk> +</devices> +
+ +
+ Starting a Guest + + Command virsh create starts a guest: + + virsh create example-guest-x86.xml + + If further configurations are needed before the guest is reachable + through ssh, a console can be started using command + virsh console. The example below shows how to start a + console where kvm-example-guest is the name of the guest defined in the + guest XML file: + + virsh console kvm-example-guest + + This requires that the guest domain has a console configured in + the guest XML file: + + <os> + <cmdline>console=ttyS0,115200</cmdline> +</os> +<devices> + <console type='pty'> + <target type='serial' port='0'/> + </console> +</devices> +
+ +
+ Isolation + + It may be desirable to isolate execution in a guest, to a specific + guest core. It might also be desirable to run a guest on a specific host + core. + + To pin the virtual CPUs of the guest to specific cores, configure + the <cputune> contents as follows: + + + + First explicitly state on which host core each guest core + shall run, by mapping vcpu to + cpuset in the <vcpupin> + tag. + + + + In the <cputune> tag it is further + possible to specify on which CPU the emulator shall run by adding + the cpuset to the <emulatorpin> tag. + + <vcpu placement='static'>2</vcpu> +<cputune> + <vcpupin vcpu='0' cpuset='2'/> + <vcpupin vcpu='1' cpuset='3'/> + <emulatorpin cpuset="2"/> +</cputune> + + libvirt will group all threads belonging to + a qemu instance into cgroups that will be created for that purpose. + It is possible to supply a base name for those cgroups using the + <resource> tag: + + <resource> + <partition>/rt</partition> +</resource> + + +
+ +
+ Networking using libvirt + + Command virsh net-create starts a network. If + any networks are listed in the guest XML file, those networks must be + started before the guest is started. As an example, if the network is + defined in a file named example-net.xml, it is started as + follows: + + virsh net-create example-net.xml +<network> + <name>sriov</name> + <forward mode='hostdev' managed='yes'> + <pf dev='eno3'/> + </forward> +</network> + + libvirt is a virtualization API that supports + virtual network creation. These networks can be connected to guests and + containers by referencing the network in the guest XML file. It is + possible to have a virtual network persistently running on the host by + starting the network with command virsh net-define + instead of the previously mentioned virsh + net-create. + + An example for the sample network defined in + meta-vt/recipes-example/virt-example/files/example-net.xml: + + virsh net-define example-net.xml + + Command virsh net-autostart enables a + persistent network to start automatically when the libvirt daemon + starts: + + virsh net-autostart example-net + + Guest configuration file (xml) must be updated to access newly + created network like so: + + <interface type='network'> + <source network='sriov'/> + </interface> + + The following presented here are a few modes of network access + from guest using virsh: + + + + vhost-user interface + + See the Open vSwitch chapter on how to create vhost-user + interface using Open vSwitch. Currently there is no Open vSwitch + support for networks that are managed by libvirt (e.g. NAT). As of + now, only bridged networks are supported (those where the user has + to manually create the bridge). + + <interface type='vhostuser'> + <mac address='00:00:00:00:00:01'/> + <source type='unix' path='/var/run/openvswitch/vhost-user1' mode='client'/> + <model type='virtio'/> + <driver queues='1'> + <host mrg_rxbuf='off'/> + </driver> + </interface> + + + + PCI passthrough + (SR-IOV) + + KVM hypervisor support for attaching PCI devices on the host + system to guests. PCI passthrough allows guests to have exclusive + access to PCI devices for a range of tasks. PCI passthrough allows + PCI devices to appear and behave as if they were physically attached + to the guest operating system. + + Preparing an Intel system for PCI passthrough is done like + so: + + + + Enable the Intel VT-d extensions in BIOS + + + + Activate Intel VT-d in the kernel by using + intel_iommu=on as a kernel boot + parameter + + + + Allow unsafe interrupts in case the system doesn't support + interrupt remapping. This can be done using + vfio_iommu_type1.allow_unsafe_interrupts=1 as + a boot kernel parameter. + + + + VFs must be created on the host before starting the + guest: + + $ echo 2 > /sys/class/net/eno3/device/sriov_numvfs +$ modprobe vfio_pci +$ dpdk-devbind.py --bind=vfio-pci 0000:03:10.0 + <interface type='hostdev' managed='yes'> + <source> + <address type='pci' domain='0x0' bus='0x03' slot='0x10' function='0x0'/> + </source> + <mac address='52:54:00:6d:90:02'/> + </interface> + + + + Bridge interface + + In case an OVS bridge exists on host, it can be used to + connect the guest: + + <interface type='bridge'> + <mac address='52:54:00:71:b1:b6'/> + <source bridge='ovsbr0'/> + <virtualport type='openvswitch'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> + </interface> + + For further details on the network XML format, see http://libvirt.org/formatnetwork.html. + + +
+ +
+ Libvirt guest configuration examples + +
+ Guest configuration with vhost-user interface + + <domain type='kvm'> + <name>vm_vhost</name> + <uuid>4a9b3f53-fa2a-47f3-a757-dd87720d9d1d</uuid> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <memoryBacking> + <hugepages> + <page size='1' unit='G' nodeset='0'/> + </hugepages> + </memoryBacking> + <vcpu placement='static'>2</vcpu> + <cputune> + <shares>4096</shares> + <vcpupin vcpu='0' cpuset='4'/> + <vcpupin vcpu='1' cpuset='5'/> + <emulatorpin cpuset='4,5'/> + </cputune> + <os> + <type arch='x86_64' machine='pc'>hvm</type> + <kernel>/mnt/qemu/bzImage</kernel> + <cmdline>root=/dev/vda console=ttyS0,115200</cmdline> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + </features> + <cpu mode='host-model'> + <model fallback='allow'/> + <topology sockets='2' cores='1' threads='1'/> + <numa> + <cell id='0' cpus='0-1' memory='4194304' unit='KiB' memAccess='shared'/> + </numa> + </cpu> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <disk type='file' device='disk'> + <driver name='qemu' type='raw' cache='none'/> + <source file='/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4'/> + <target dev='vda' bus='virtio'/> + </disk> + <interface type='vhostuser'> + <mac address='00:00:00:00:00:01'/> + <source type='unix' path='/var/run/openvswitch/vhost-user1' mode='client'/> + <model type='virtio'/> + <driver queues='1'> + <host mrg_rxbuf='off'/> + </driver> + </interface> + <serial type='pty'> + <target port='0'/> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + </devices> +</domain> +
+ +
+ Guest configuration with PCI passthrough + + <domain type='kvm'> + <name>vm_sriov1</name> + <uuid>4a9b3f53-fa2a-47f3-a757-dd87720d9d1d</uuid> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <memoryBacking> + <hugepages> + <page size='1' unit='G' nodeset='0'/> + </hugepages> + </memoryBacking> + <vcpu>2</vcpu> + <os> + <type arch='x86_64' machine='q35'>hvm</type> + <kernel>/mnt/qemu/bzImage</kernel> + <cmdline>root=/dev/vda console=ttyS0,115200</cmdline> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + </features> + <cpu mode='host-model'> + <model fallback='allow'/> + <topology sockets='1' cores='2' threads='1'/> + <numa> + <cell id='0' cpus='0' memory='4194304' unit='KiB' memAccess='shared'/> + </numa> + </cpu> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <disk type='file' device='disk'> + <driver name='qemu' type='raw' cache='none'/> + <source file='/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4'/> + <target dev='vda' bus='virtio'/> + </disk> + <interface type='hostdev' managed='yes'> + <source> + <address type='pci' domain='0x0' bus='0x03' slot='0x10' function='0x0'/> + </source> + <mac address='52:54:00:6d:90:02'/> + </interface> + <serial type='pty'> + <target port='0'/> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + </devices> +</domain> +
+ +
+ Guest configuration with bridge interface + + <domain type='kvm'> + <name>vm_bridge</name> + <uuid>4a9b3f53-fa2a-47f3-a757-dd87720d9d1d</uuid> + <memory unit='KiB'>4194304</memory> + <currentMemory unit='KiB'>4194304</currentMemory> + <memoryBacking> + <hugepages> + <page size='1' unit='G' nodeset='0'/> + </hugepages> + </memoryBacking> + <vcpu placement='static'>2</vcpu> + <cputune> + <shares>4096</shares> + <vcpupin vcpu='0' cpuset='4'/> + <vcpupin vcpu='1' cpuset='5'/> + <emulatorpin cpuset='4,5'/> + </cputune> + <os> + <type arch='x86_64' machine='q35'>hvm</type> + <kernel>/mnt/qemu/bzImage</kernel> + <cmdline>root=/dev/vda console=ttyS0,115200</cmdline> + <boot dev='hd'/> + </os> + <features> + <acpi/> + <apic/> + </features> + <cpu mode='host-model'> + <model fallback='allow'/> + <topology sockets='2' cores='1' threads='1'/> + <numa> + <cell id='0' cpus='0-1' memory='4194304' unit='KiB' memAccess='shared'/> + </numa> + </cpu> + <on_poweroff>destroy</on_poweroff> + <on_reboot>restart</on_reboot> + <on_crash>destroy</on_crash> + <devices> + <emulator>/usr/bin/qemu-system-x86_64</emulator> + <disk type='file' device='disk'> + <driver name='qemu' type='raw' cache='none'/> + <source file='/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4'/> + <target dev='vda' bus='virtio'/> + </disk> + <interface type='bridge'> + <mac address='52:54:00:71:b1:b6'/> + <source bridge='ovsbr0'/> + <virtualport type='openvswitch'/> + <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> + </interface> + <serial type='pty'> + <target port='0'/> + </serial> + <console type='pty'> + <target type='serial' port='0'/> + </console> + </devices> +</domain> +
+
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/images/virtual_network_functions.png b/doc/book-enea-nfv-access-guide/doc/images/virtual_network_functions.png new file mode 100644 index 0000000..4011de8 Binary files /dev/null and b/doc/book-enea-nfv-access-guide/doc/images/virtual_network_functions.png differ diff --git a/doc/book-enea-nfv-access-guide/doc/overview.xml b/doc/book-enea-nfv-access-guide/doc/overview.xml new file mode 100644 index 0000000..d3a0d8a --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/overview.xml @@ -0,0 +1,164 @@ + + + + Overview + + The NFV Access Guide available with this release of Enea + Linux, seeks to provide further information that will help all intended + users make the most out of the virtualization features. + +
+ NFV Access Description + + Enea NFV Access is a lightweight virtualization software + designed for deployment on edge devices at customer premises. Streamlined + for high networking performance and minimal footprints for both and VNFs, it enables very high compute density. + + ENFV Access also provides a foundation for vCPE agility and + innovation, reducing cost and complexity for computing at the network + edge. It supports multiple architectures and scales from small white box + edge devices up to high-end network servers. Thanks to the streamlined + footprint, Enea NFV Access can be deployed on systems as small as single + 2-core ARM devices. It scales up to clustered 24 core x86 Xeon servers and + beyond, allowing multiple VNFs on the same machine, and eliminating the + need to use different virtualization software for different hardware + platforms, saving costs through single source provisioning. + + Optimized virtual networking performance provides low virtualized + networking latency, high virtualized networking throughput (10 Gb wire + speed), and low processing overhead. It allows high compute density on + white box hardware, maintaining performance when moving functionality from + application specific appliances to software on standard hardware. The + optimized boot speed minimizes the time from reboot to active services, + improving availability. + + Enea NFV Access provides virtualization using both containers and + virtual machines. Containers provide lightweight virtualization for a + smaller VNF footprint and a very short time interval from start to enabled + network services. VMs provide virtualization with secure VNF sandboxing + and is the preferred virtualization method for OPNFV compliance. Enea NFV + Access allows combinations of containers and VMs for highest possible user + adaptability. + + Flexible interfaces for VNF lifecycle management and service + function chaining, are important to allow a smooth transition from + traditional network appliances to virtualized network functions in + existing networks, as they plug into a variety of interfaces. Enea NFV + Access supports VNF lifecycle management and service function chaining + through OpenStack, NETCONF, REST, CLI and Docker. It integrates a powerful + device management framework that enables full FCAPS functionality for + powerful management of the platform. + + Building on open source, Enea NFV Access prevents vendor lock-in + thanks to its completely open standards and interfaces. Unlike proprietary + platforms that either do not allow decoupling of software from hardware, + or prevent NVF portability, Enea NFV Access includes optimized components + with open interfaces to allow full portability and + interoperability. +
+ +
+ NFV Access Components + + Enea NFV Access is built on highly optimized open source and + value-adding components that provide standard interfaces but with boosted + performance. + + + + + + + + The Access Platform includes the following key components: + + + + Linux Kernel – Optimized Linux kernel with the focus on + vCPE systems characteristics. + + + + KVM – Virtualization with virtual machines. KVM is the + standard virtualization engine for Linux based systems. + + + + Docker – Docker provides a lightweight configuration using + containers. Docker is the standard platform for container + virtualization. + + + + Virtual switching – Optimized OVS-DPDK provides high + throughput and low latency. + + + + Edge Link – Edge Link provides interfaces to orchestration + for centralized VNF lifecycle management and service function + chaining: + + + + NETCONF + + + + OpenStack + + + + Docker + + + + REST + + + + CLI + + + + + + APT packet management – Feature rich repository of + prebuilt open source packages for extending and adapting the platform + using APT Package Management. + + + + CLI based VNF management – CLI access over virsh and + libvirt. + + + + FCAPS framework – The device management framework for + managing the platform is capable of providing full FCAPS functionality + to orchestration or network management systems. + + + + Data plane – High performance data plane that includes the + following optimized data plane drivers: + + + + DPDK + + + + OpenFastPath (OFP) + + + + ODP + + + + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/ovs.xml b/doc/book-enea-nfv-access-guide/doc/ovs.xml new file mode 100644 index 0000000..3400975 --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/ovs.xml @@ -0,0 +1,161 @@ + + + + Open Virtual Switch + + Open vSwitch (OVS) is an open-source multilayer virtual switch + designed to be used in virtualized environments to forward traffic between + different VMs on the same host, and also between VMs and the physical + network. + + Native OVS forwarding is handled by two major components: a user-space + daemon called ovs-vswitchd and a + fastpath kernel module used to accelerate the data path. + The fastpath kernel module will handle packets received on the NIC by simply + consulting a flow table with corresponding action rules (e.g to forward the + packet or modify its headers). If no matching entry is found in the flow + table, the packet is copied to the user-space and sent to the ovs-vswitchd + deamon which determines how it should be handled ("slowpath"). + + The packet is then passed back to the kernel module together with the + desired action and the flow table is updated, so that subsequent packets in + the same flow can be handled in fastpath without any user-space interaction. + In this way, OVS eliminates a lot of the context switching between + kernel-space and user-space, but the throughput is still limited by the + capacity of the Linux kernel stack. + +
+ OVS-DPDK + + To improve performance, OVS supports integration with Intel DPDK + libraries to operate entirely in user-space (OVS-DPDK). DPDK Poll Mode + Drivers (PMDs) enable direct transfers of packets between the physical NIC + and user-space, thereby eliminating the overhead of interrupt handling and + Linux kernel network stack processing. OVS-DPDK provides DPDK-backed + vhost-user ports as the primary way to connect guests to this datapath. + The vhost-user interfaces are transparent to the guest. +
+ +
+ OVS commands + + OVS provides a rich set of command line management tools, most + importantly: + + + + ovs-vsctl: Used to manage and inspect switch configurations, + e.g. to create bridges and to add/remove ports. + + + + ovs-ofctl: Used to configure and monitor flows. + + + + For more information about Open vSwitch, see http://openvswitch.org. +
+ +
+ Configuring OVS-DPDK for improved performance + +
+ dpdk-lcore-mask + + Specifies the CPU core affinity for DPDK lcore threads. The lcore + threads are used for DPDK library tasks. For performance it is best to + set this to a single core on the system, and it should not overlap the + pmd-cpu-mask, as seen in the example below. + + Example: To use core 1: + + ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x1 +
+ +
+ pmd-cpu-mask + + The DPDK PMD threads polling for incoming packets are CPU bound + and should be pinned to isolated cores for optimal performance. + + If OVS-DPDK receives traffic on multiple ports, for example when + DPDK and vhost-user ports are used for bi-directional traffic, the + performance can be significantly improved by creating multiple PMD + threads and affinitizing them to separate cores in order to share the + workload, by each being responsible for an individual port. The cores + should not be hyperthreads on the same CPU. + + The PMD core affinity is specified by setting an appropriate core + mask. Example: using cores 2 and 3: + + ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc +
+
+ +
+ How to set up OVS-DPDK + + The DPDK must be configured prior to setting up OVS-DPDK. See + [FIXME] for DPDK setup instructions, then follow these steps: + + + + Clean up the environment: + + killall ovsdb-server ovs-vswitchd +rm -f /var/run/openvswitch/vhost-user* +rm -f /etc/openvswitch/conf.db + + + + Start the ovsdb-server: + + export DB_SOCK=/var/run/openvswitch/db.sock +ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema +ovsdb-server --remote=punix:$DB_SOCK / +--remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach + + + + Start ovs-vswitchd with DPDK support enabled: + + ovs-vsctl --no-wait init +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x1 +ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc +ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true +ovs-vswitchd unix:$DB_SOCK --pidfile --detach / +--log-file=/var/log/openvswitch/ovs-vswitchd.log + + + + Create the OVS bridge and attach ports: + + ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev +ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 type=dpdk / +:dpdk-devargs=<PCI device> + + + + Add DPDK vhost-user ports: + + ovs-vsctl add-port ovsbr0 vhost-user1 -- set Interface vhost-user1 type=dpdkvhostuser + + This command creates a socket at + /var/run/openvswitch/vhost-user1, which can be + provided to the VM on the QEMU command line. See [FIXME] for + details. + + + + Define flows: + + ovs-ofctl del-flows ovsbr0 +ovs-ofctl show ovsbr0 +ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 +ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1 + + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/doc/using_nfv_access_sdks.xml b/doc/book-enea-nfv-access-guide/doc/using_nfv_access_sdks.xml new file mode 100644 index 0000000..18602a1 --- /dev/null +++ b/doc/book-enea-nfv-access-guide/doc/using_nfv_access_sdks.xml @@ -0,0 +1,203 @@ + + + + Using NFV Access SDKs + + Enea NFV Access comes with two different toolchains, one for + developing applications for the host and one for applications running in the + guest VM. Each is wrapped together with an environment-setup script into a + shell archive and is available under the Download section on + portal.enea.com. They have self explanatory names. + + + + inteld1521/sdk/enea-glibc-x86_64-enea-image-virtualization-host-sdk-corei7-64-toolchain-7.0.sh + - for host applications. + + + + qemux86-64/sdk/enea-glibc-x86_64-enea-image-virtualization-guest-sdk-core2-64-toolchain-7.0.sh + - for guest applications. + + + +
+ Installing the Cross-Compilation Toolchain + + Before cross-compiling applications for your target, you need to + install the corresponding toolchain on your workstation. To do that, + simply run the installer and follow the steps included with it: + + + + $ ./enea-glibc-x86_64-enea-image-virtualization-guest-sdk-core2-64-toolchain-7.0.shWhen + prompted, select to install the toolchain in the desired directory, + referred to as <sdkdir>. + + A default path where the toolchain will be installed will be + shown in the prompt. The installer unpacks the environment setup + script in <sdkdir> and the toolchain under + <sdkdir>/sysroots. + + + Choose a unique directory for each toolchain. Installing a + second toolchain of any type in the same directory as a previously + installed one will break the $PATH variable of + the first one. + + + + + Setup the toolchain environment for your target by sourcing the + environment-setup script. Example: $ source <sdkdir>/environment-setup-core2-64-enea-linux + + +
+ +
+ Cross-Compiling Applications from Command Line + + Once the environment-setup script is sourced, you can make your + applications as per usual and get them compiled for your target. Below you + see how to cross-compile from command line. + + + + Create a Makefile for your application. Example: a simple + Makefile and application: + + helloworld:helloworld.o + $(CC) -o helloworld helloworld.o +clean: + rm -f *.o helloworld +#include <stdio.h> +int main(void) { + printf("Hello World\n"); + return 0; +} + + + + Run make to cross-compile your application + according to the environment set up: + + $ make + + + + Deploy the helloworld program to your target and run it: + + # ./helloworld +hello world + + +
+ +
+ Cross-Compiling Kernel Modules + + Before cross-compiling kernle modules, you need to make sure the + installed toolchain includes the kernel source tree, which should be + available at: + <sdkdir>/sysroots/<targetarch>-enea-linux/usr/src/kernel. + + Once the environment-setup script is sourced, you can make your + kernel modules as usual and get them compiled for your target. Below you + see how to cross-compile a kernel module. + + + + Create a Makefile for the kernel module. Example: a simple + Makefile and kernel module: + + obj-m := hello.o +PWD := $(shell pwd) + +KERNEL_SRC := <full path to kernel source tree> + +all: scripts + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) LDFLAGS="" modules +scripts: + $(MAKE) -C $(KERNEL_SRC) scripts +clean: + $(MAKE) -C $(KERNEL_SRC) M=$(PWD) LDFLAGS="" clean +#include <linux/module.h> /* Needed by all modules */ +#include <linux/kernel.h> /* Needed for KERN_INFO */ +#include <linux/init.h> /* Needed for the macros */ + +static int __init hello_start(void) +{ + printk(KERN_INFO "Loading hello module...\n"); + printk(KERN_INFO "Hello, world\n"); + return 0; +} + +static void __exit hello_end(void) +{ + printk(KERN_INFO "Goodbye, world\n"); +} + +module_init(hello_start); +module_exit(hello_end); + +MODULE_LICENSE("GPL"); + + + + Run make to cross-compile your kernel module + according to the environment set up: + + $ make + + + + Deploy the kernel module hello.ko to your + target and install/remove it: + + # insmod hello.ko +# rmmod hello.ko +# dmesg +[...] Loading hello module... +[...] Hello, world +[...] Goodbye, world + + +
+ +
+ Deploying your artifacts + + + + Deploying on host + + You can use ssh to deploy your artifacts on + the host target. For this you will need a network connection to the + target and to use scp to copy to the desired + location. + + + + Deploying on guest + + You can deploy your artifacts onto the guest VM running on the + target in two steps: + + + + Deploy the artifacts onto the target by using the method + described above or any other method. + + + + On the target, copy the artifacts to the guest rootfs. For + this, you will need to shut down the guest VM, mount the file + system on the target, copy your files onto it, unmount it and then + restart the guest VM as usual. + + + + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-guide/swcomp.mk b/doc/book-enea-nfv-access-guide/swcomp.mk new file mode 100644 index 0000000..0d205f3 --- /dev/null +++ b/doc/book-enea-nfv-access-guide/swcomp.mk @@ -0,0 +1,10 @@ +# Component build specification + +# Version of THIS book +BOOK_VER ?= $(REL_VER)-dev + +DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) + +BOOKPACKAGES := book-enea-nfv-access-guide +BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access $(PROD_VER) Guide" +BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) diff --git a/doc/book-enea-nfv-access-open-source/doc/README b/doc/book-enea-nfv-access-open-source/doc/README new file mode 100644 index 0000000..c40a2d9 --- /dev/null +++ b/doc/book-enea-nfv-access-open-source/doc/README @@ -0,0 +1,4 @@ +The licenses.xml in the git repository of Enea Linux Open Source Report +is the frozen version belonging to the last official release of Enea Linux. +The contents must be generated from the release script to obtain the latest +lists of packages and licenses. diff --git a/doc/book-enea-nfv-access-open-source/doc/about.xml b/doc/book-enea-nfv-access-open-source/doc/about.xml new file mode 100644 index 0000000..0ca3155 --- /dev/null +++ b/doc/book-enea-nfv-access-open-source/doc/about.xml @@ -0,0 +1,12 @@ + + + + About this Report + + This document contains the open source and license information + pertaining to packages provided with Enea NFV Access . + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-open-source/doc/book.xml b/doc/book-enea-nfv-access-open-source/doc/book.xml new file mode 100644 index 0000000..a1f8054 --- /dev/null +++ b/doc/book-enea-nfv-access-open-source/doc/book.xml @@ -0,0 +1,14 @@ + + +]> + + <trademark class="registered">Enea</trademark> NFV Access Open Source Report + Release Version + + + + + diff --git a/doc/book-enea-nfv-access-open-source/doc/licenses.xml b/doc/book-enea-nfv-access-open-source/doc/licenses.xml new file mode 100644 index 0000000..777ab00 --- /dev/null +++ b/doc/book-enea-nfv-access-open-source/doc/licenses.xml @@ -0,0 +1,7986 @@ + + + + Packages and Licenses +
+ + Packages + + + + + + + + + + + + + + Package Name + Version + Description + License + + + + + + acl + 2.2.52 + Utilities for managing POSIX Access Control Lists. + LGPL-2.1, GPL-2.0 + + + alsa-lib + 1.1.3 + ALSA sound library. + LGPL-2.1, GPL-2.0 + + + apt + 1.2.12 + Advanced front-end for dpkg. + GPL-2.0 + + + asciidoc + 8.6.9 + AsciiDoc is a text document format for writing short documents articles books and UNIX man pages. + GPL-2.0 + + + atk + 2.22.0 + Accessibility toolkit for GNOME. + GPL-2.0, LGPL-2.0 + + + attr + 2.4.47 + Utilities for manipulating filesystem extended attributes. + LGPL-2.1, GPL-2.0 + + + aufs-util + 3.14 + Tools for managing AUFS mounts. + GPL-2.0 + + + augeas + 1.5.0 + Augeas configuration API. + LGPL-2.1 + + + autoconf-archive + 2016.09.16 + autoconf-archive-native version 2016.09.16-r0. + GPL-2.0, GPL-3.0 + + + autoconf + 2.69 + Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use in the form of M4 macro calls. + GPL-2.0, GPL-3.0 + + + autogen + 5.18.12 + AutoGen is a tool designed to simplify the creation and maintenance of programs that contain large amounts of repetitious text. It is especially valuable in programs that have several blocks of text that must be kept synchronized. + GPL-3.0 + + + automake + 1.15 + Automake is a tool for automatically generating `Makefile.in' files compliant with the GNU Coding Standards. Automake requires the use of Autoconf. + GPL-2.0 + + + avahi + 0.6.32 + "Avahi is a fully LGPL framework for Multicast DNS Service Discovery. It allows programs to publish and discover services and hosts running on a local network with no specific configuration. This tool implements IPv4LL ""Dynamic Configuration of IPv4 Link-Local Addresses"" (IETF RFC3927) a protocol for automatic IP address configuration from the link-local 169.254.0.0/16 range without the need for a central server." + GPL-2.0, LGPL-2.1 + + + babeltrace + 1.5.2 + Babeltrace provides trace read and write libraries in host side as well as a trace converter which used to convert LTTng 2.0 traces into human-readable log. + MIT, GPL-2.0 + + + base-files + 3.0.14 + The base-files package creates the basic system directory structure and provides a small set of key configuration files for the system. + GPL-2.0 + + + base-passwd + 3.5.29 + The master copies of the user database files (/etc/passwd and /etc/group). The update-passwd tool is also provided to keep the system databases synchronized with these master files. + GPL-2.0 + + + bash-completion + 2.5 + Programmable Completion for Bash 4. + GPL-2.0 + + + bash + 4.3.30 + An sh-compatible command language interpreter. + GPL-3.0 + + + bc + 1.06 + Arbitrary precision calculator language. + GPL-2.0, LGPL-2.1 + + + bdwgc + 7.6.0 + The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new. It allows you to allocate memory basically as you normally would without explicitly deallocating memory that is no longer useful. The collector automatically recycles memory when it determines that it can no longer be otherwise accessed. The collector is also used by a number of programming language implementations that either use C as intermediate code want to facilitate easier interoperation with C libraries or just prefer the simple collector interface. Alternatively the garbage collector may be used as a leak detector for C or C++ programs though that is not its primary goal. Empirically this collector works with most unmodified C programs simply by replacing malloc with GC_malloc calls replacing realloc with GC_realloc calls and removing free calls. + MIT + + + bind + 9.10.3-P3 + ISC Internet Domain Name Server. + ISC, BSD + + + binutils-cross-x86_64 + 2.28 + The GNU Binutils are a collection of binary tools. The main ones are ld (GNU Linker) and as (GNU Assembler). This package also includes addition tools such as addr2line (Converts addresses into filenames and line numbers) ar (utility for creating modifying and extracting archives) nm (list symbols in object files) objcopy (copy and translate object files) objdump (Display object information) and other tools and related libraries. + GPL-3.0 + + + binutils + 2.28 + The GNU Binutils are a collection of binary tools. The main ones are ld (GNU Linker) and as (GNU Assembler). This package also includes addition tools such as addr2line (Converts addresses into filenames and line numbers) ar (utility for creating modifying and extracting archives) nm (list symbols in object files) objcopy (copy and translate object files) objdump (Display object information) and other tools and related libraries. + GPL-3.0 + + + bison + 3.0.4 + Bison is a general-purpose parser generator that converts an annotated context-free grammar into an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with little trouble. + GPL-3.0 + + + bjam + 1.63.0 + Portable Boost.Jam build tool for boost. + BSL-1.0, MIT + + + bmap-tools + 3.2 + "Bmap-tools - tools to generate block map (AKA bmap) and flash images using bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file and copying files using the block map. The idea is that large file containing unused blocks like raw system image files can be copied or flashed a lot faster with bmaptool than with traditional tools like ""dd"" or ""cp""." + GPL-2.0 + + + boost + 1.63.0 + Free peer-reviewed portable C++ source libraries. + BSL-1.0, MIT + + + bridge-utils + 1.5 + Tools for ethernet bridging. + GPL-2.0 + + + btrfs-tools + 4.9.1 + Btrfs is a new copy on write filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance repair and easy administration. This package contains utilities (mkfs fsck btrfsctl) used to work with btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3. + GPL-2.0 + + + busybox + 1.24.1 + BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for most of the utilities you usually find in GNU fileutils shellutils etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete POSIX environment for any small or embedded system. + GPL-2.0, BSD-4-Clause + + + bzip2 + 1.0.6 + bzip2 compresses files using the Burrows-Wheeler block-sorting text compression algorithm and Huffman coding. Compression is generally considerably better than that achieved by more conventional LZ77/LZ78-based compressors and approaches the performance of the PPM family of statistical compressors. + BSD-4-Clause + + + ca-certificates + 20161130 + This package includes PEM files of CA certificates to allow SSL-based applications to check for the authenticity of SSL connections. This derived from Debian's CA Certificates. + GPL-2.0, MPL-2.0 + + + cairo + 1.14.8 + Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. Paths consist of line segments and cubic splines and can be rendered at any width with various join and cap styles. All colors may be specified with optional translucence (opacity/alpha) and combined using the extended Porter/Duff compositing algebra as found in the X Render Extension. + MPL-1.0, LGPL-2.1, GPL-3.0 + + + cantarell-fonts + 0.0.24 + The Cantarell font typeface is designed as a contemporary Humanist sans serif and was developed for on-screen reading; in particular reading web pages on an HTC Dream mobile phone. + OFL-1.1 + + + cdrtools + 3.01a31 + A set of tools for CD recording including cdrecord. + GPL-2.0, LGPL-2.1 + + + chrpath + 0.16 + chrpath allows you to change the rpath (where the application looks for libraries) in an application. It does not (yet) allow you to add an rpath if there isn't one already. + GPL-2.0 + + + cmake + 3.7.2 + Cross-platform open-source make system. + BSD + + + compose-file + 3.0 + Parser for the Compose file format (version 3) + Apache-2.0 + + + compositeproto + 0.4.2 + This package provides the wire protocol for the X composite extension. The X composite extension provides three related mechanisms for compositing and off-screen storage. + MIT + + + containerd-docker + 0.2.3 + containerd is a daemon to control runC built for performance and density. containerd leverages runC's advanced features such as seccomp and user namespace support as well as checkpoint and restore for cloning and live migration of containers. + Apache-2.0 + + + core-image-minimal-initramfs + 1.0 + Small image capable of booting a device. The kernel includes the Minimal RAM-based Initial Root Filesystem (initramfs) which finds the first 'init' program more efficiently. + MIT + + + coreutils + 8.26 + The GNU Core Utilities provide the basic file shell and text manipulation utilities. These are the core utilities which are expected to exist on every system. + GPL-3.0 + + + cross-localedef + 2.25 + Cross locale generation tool for glibc. + LGPL-2.1 + + + cryptodev-linux + 1.8 + A /dev/crypto device driver header file. + GPL-2.0 + + + curl + 7.53.1 + Command line tool and library for client-side URL transfers. + MIT + + + damageproto + 1.2.1 + This package provides the wire protocol for the DAMAGE extension. The DAMAGE extension allows applications to receive information about changes made to pixel contents of windows and pixmaps. + MIT + + + db + 5.3.28 + Berkeley Database v5. + Sleepycat + + + dbus-glib + 0.108 + GLib bindings for the D-Bus message bus that integrate the D-Bus library with the GLib thread abstraction and main loop. + AFL-2.0, GPL-2.0 + + + dbus-test + 1.10.14 + D-Bus test package (for D-bus functionality testing only). + AFL-2.0, GPL-2.0 + + + dbus + 1.10.14 + "D-Bus is a message bus system a simple way for applications to talk to one another. In addition to interprocess communication D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \""single instance\"" application or daemon and to launch applications and daemons on demand when their services are needed." + AFL-2.0, GPL-2.0 + + + debianutils + 4.8.1 + Miscellaneous utilities specific to Debian. + GPL-2.0 + + + depmodwrapper + 1.0 + Wrapper script for the Linux kernel module dependency indexer. + MIT + + + dhcp + 4.3.5 + DHCP (Dynamic Host Configuration Protocol) is a protocol which allows individual devices on an IP network to get their own network configuration information from a server. DHCP helps make it easier to administer devices. + ISC + + + diffutils + 3.5 + Diffutils contains the GNU diff diff3 sdiff and cmp utilities. These programs are usually used for creating patch files. + GPL-3.0 + + + dmidecode + 3.0 + DMI (Desktop Management Interface) table related utilities. + GPL-2.0 + + + dnsmasq + 2.76 + Lightweight easy to configure DNS forwarder and DHCP server. + GPL-2.0, GPL-3.0 + + + docbook-xml-dtd4 + 4.5 + Document type definitions for verification of XML data files against the DocBook rule set it ships with the latest DocBook 4.5 XML DTD as well as a selected set of legacy DTDs for use with older documents including 4.0 4.1.2 4.2 4.3 and 4.4 + OASIS + + + docbook-xsl-stylesheets + 1.79.1 + XSL stylesheets for processing DocBook XML to various output formats. + XSL + + + docker + 1.13.0 + Linux container runtime Docker complements kernel namespacing with a high-level API which operates at the process level. It runs unix processes with strong guarantees of isolation and repeatability across servers. . Docker is a great building block for automating distributed systems: large-scale web deployments database clusters continuous deployment systems private PaaS service-oriented architectures etc. . This package contains the daemon and client. Using docker.io is officially supported on x86_64 and arm (32-bit) hosts. Other architectures are considered experimental. . Also note that kernel version 3.10 or above is required for proper operation of the daemon process and that any lower versions may have subtle and/or glaring issues. + Apache-2.0 + + + dosfstools + 4.1 + DOS FAT Filesystem Utilities. + GPL-3.0 + + + dpdk-dev-libibverbs + 1.2.1-3.4-2.0.0.0 + libibverbs library to support Mellanox config + GPL-2.0 + + + dpdk + 17.02 + Intel(r) Data Plane Development Kit + BSD, LGPL-2.0, GPL-2.0 + + + dpkg + 1.18.10 + Package maintenance system from Debian. + GPL-2.0 + + + dropbear + 2016.74 + A lightweight SSH and SCP implementation. + MIT, BSD-3-Clause, BSD-2-Clause, PD + + + dtc + 1.4.2 + The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels. + GPL-2.0, BSD + + + e2fsprogs + 1.43.4 + The Ext2 Filesystem Utilities (e2fsprogs) contain all of the standard utilities for creating fixing configuring and debugging ext2 filesystems. + GPL-2.0, LGPL-2.0, BSD, MIT + + + ebtables + 2.0.10-4 + Utility for basic Ethernet frame filtering on a Linux bridge advanced logging MAC DNAT/SNAT and brouting. + GPL-2.0 + + + elfutils + 0.168 + Utilities and libraries for handling compiled object files. + GPL-3.0, Elfutils-Exception + + + enea-image-virtualization-guest-sdk + 1.0 + Image for the guest side of the Enea Linux Virtualization profile + MIT + + + enea-image-virtualization-guest + 1.0 + Image for the guest side of the Enea Linux Virtualization profile + MIT + + + enea-image-virtualization-host-sdk + 1.0 + Image for the host side of the Enea Linux Virtualization profile + MIT + + + enea-image-virtualization-host + 1.0 + Image for the host side of the Enea Linux Virtualization profile + MIT + + + expat + 2.2.0 + Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags) + MIT + + + file + 5.30 + File attempts to classify files depending on their contents and prints a description if a match is found. + BSD + + + findutils + 4.6.0 + The GNU Find Utilities are the basic directory searching utilities of the GNU operating system. These programs are typically used in conjunction with other programs to provide modular and powerful directory search and file locating capabilities to other commands. + GPL-3.0 + + + fixesproto + 5.0 + This package provides the wire protocol for the X Fixes extension. This extension is designed to provide server-side support for application work arounds to shortcomings in the core X window system. + MIT + + + flex + 2.6.0 + Flex is a fast lexical analyser generator. Flex is a tool for generating programs that recognize lexical patterns in text. + BSD + + + fontconfig + 2.12.1 + Fontconfig is a font configuration and customization library which does not depend on the X Window System. It is designed to locate fonts within the system and select them according to requirements specified by applications. Fontconfig is not a rasterization library nor does it impose a particular rasterization library on the application. The X-specific library 'Xft' uses fontconfig along with freetype to specify and rasterize fonts. + MIT, PD + + + freetype + 2.7.1 + FreeType is a software font engine that is designed to be small efficient highly customizable and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries display servers font conversion tools text image generation tools and many other products as well. + FreeType, GPL-2.0 + + + gawk + 4.1.4 + The GNU version of awk a text processing utility. Awk interprets a special-purpose programming language to do quick and easy text pattern matching and reformatting jobs. + GPL-3.0 + + + gcc-cross-initial-x86_64 + 6.3.0 + GNU cc and gcc C compilers. + GPL-3.0-with-GCC-exception, GPL-3.0 + + + gcc-cross-x86_64 + 6.3.0 + GNU cc and gcc C compilers. + GPL-3.0-with-GCC-exception, GPL-3.0 + + + gcc-source-6.3.0 + 6.3.0 + GNU cc and gcc C compilers. + GPL-3.0-with-GCC-exception, GPL-3.0 + + + gcc + 6.3.0 + Runtime libraries from GCC. + GPL-3.0-with-GCC-exception + + + gdb + 7.12.1 + GNU debugger. + GPL-2.0, GPL-3.0, LGPL-2.0, LGPL-3.0 + + + gdbm + 1.12 + Key/value database library with extensible hashing. + GPL-3.0 + + + gdk-pixbuf + 2.36.5 + Image loading library for GTK+. + LGPL-2.0 + + + gettext-minimal + 0.19.8.1 + Contains the m4 macros sufficient to support building autoconf/automake. This provides a significant build time speedup by the removal of gettext-native from most dependency chains (now only needed for gettext for the target). + FSF-Unlimited + + + gettext + 0.19.8.1 + GNU gettext is a set of tools that provides a framework to help other programs produce multi-lingual messages. These tools include a set of conventions about how programs should be written to support message catalogs a directory and file naming organization for the message catalogs themselves a runtime library supporting the retrieval of translated messages and a few stand-alone programs to massage in various ways the sets of translatable and already translated strings. + GPL-3.0, LGPL-2.1 + + + git + 2.11.1 + Distributed version control system. + GPL-2.0 + + + glib-2.0 + 2.50.3 + GLib is a general-purpose utility library which provides many useful data types macros type conversions string utilities file utilities a main loop abstraction and so on. + LGPL-2.0, BSD + + + glibc-locale + 2.25 + Locale data from glibc. + GPL-2.0, LGPL-2.1 + + + glibc + 2.25 + The GNU C Library is used as the system C library in most systems with the Linux kernel. + GPL-2.0, LGPL-2.1 + + + gmp + 6.1.2 + GMP is a free library for arbitrary precision arithmetic operating on signed integers rational numbers and floating point numbers + GPL-2.0, LGPL-3.0 + + + gnome-desktop-testing + 2014.1 + Test runner for GNOME-style installed tests. + LGPL-2.0 + + + gnome-themes-standard + 3.22.2 + GTK+2 standard themes. + LGPL-2.1 + + + gnu-config + 20150728 + Tool that installs the GNU config.guess / config.sub into a directory tree + GPL-3.0-with-autoconf-exception + + + gnu-efi + 3.0.5 + Libraries for producing EFI binaries. + GPL-2.0, BSD-2-Clause + + + gnulib + 0.1.496 + A collection of software subroutines which are designed to be usable on many operating systems. The goal of the project is to make it easy for free software authors to make their software run on many operating systems. Since source is designed to be copied from gnulib it is not a library per-se as much as a collection of portable idioms to be used in other projects. + LGPL-2.0 + + + gnutls + 3.5.9 + GNU Transport Layer Security Library. + GPL-3.0, LGPL-2.1 + + + go-bootstrap + 1.4.3 + The Go programming language is an open source project to make programmers more productive. Go is expressive concise clean and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast statically typed compiled language that feels like a dynamically typed interpreted language. + BSD-3-Clause + + + go-capability + 0.0 + Utilities for manipulating POSIX capabilities in Go. + BSD-2-Clause + + + go-cli + 1.1.0 + A small package for building command line apps in Go + MIT + + + go-connections + 0.2.1 + Utility package to work with network connections + Apache-2.0 + + + go-context + git + A golang registry for global request variables. + BSD-3-Clause + + + go-cross-x86_64 + 1.8 + The Go programming language is an open source project to make programmers more productive. Go is expressive concise clean and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast statically typed compiled language that feels like a dynamically typed interpreted language. + BSD-3-Clause + + + go-dbus + 4.0.0 + Native Go bindings for D-Bus + BSD-2-Clause + + + go-distribution + 2.6.0 + The Docker toolset to pack ship store and deliver content + Apache-2.0 + + + go-fsnotify + 1.2.11 + A golang registry for global request variables. + BSD-3-Clause + + + go-libtrust + 0.0 + Primitives for identity and authorization + Apache-2.0 + + + go-logrus + 0.11.0 + A golang registry for global request variables. + MIT + + + go-mux + git + A powerful URL router and dispatcher for golang. + BSD-3-Clause + + + go-patricia + 2.2.6 + A generic patricia trie (also called radix tree) implemented in Go (Golang) + MIT + + + go-pty + git + PTY interface for Go + MIT + + + go-systemd + 4 + Go bindings to systemd socket activation journal D-Bus and unit files + Apache-2.0 + + + gobject-introspection + 1.50.0 + Middleware layer between GObject-using C libraries and language bindings. + LGPL-2.0, GPL-2.0 + + + gperf + 3.0.4 + GNU gperf is a perfect hash function generator + GPL-3.0 + + + gptfdisk + 1.0.1 + GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks. + GPL-2.0 + + + grep + 3.0 + GNU grep utility. + GPL-3.0 + + + groff + 1.22.3 + The groff (GNU troff) software is a typesetting package which reads plain text mixed with formatting commands and produces formatted output. + GPL-3.0 + + + grpc-go + 1.4.0 + The Go language implementation of gRPC. HTTP/2 based RPC + BSD + + + grub-efi + 2.00 + GRUB2 is the next generaion of a GPLed bootloader intended to unify bootloading across x86 operating systems. In addition to loading the Linux kernel it implements the Multiboot standard which allows for flexible loading of multiple boot images. + GPL-3.0 + + + grub + 2.00 + GRUB2 is the next generaion of a GPLed bootloader intended to unify bootloading across x86 operating systems. In addition to loading the Linux kernel it implements the Multiboot standard which allows for flexible loading of multiple boot images. + GPL-3.0 + + + gtk+ + 2.24.31 + GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets GTK+ is suitable for projects ranging from small one-off projects to complete application suites. + LGPL-2.0, LGPL-2.1 + + + gtk-doc + 1.25 + Gtk-doc is a set of scripts that extract specially formatted comments from glib-based software and produce a set of html documentation files from them + GPL-2.0 + + + gtk-icon-utils + 3.22.8 + gtk-update-icon-cache and gtk-encode-symbolic-svg built from GTK+ natively for build time and on-host postinst script execution. + LGPL-2.0, LGPL-2.1 + + + guile + 2.0.14 + Guile is the GNU Ubiquitous Intelligent Language for Extensions the official extension language for the GNU operating system. Guile is a library designed to help programmers create flexible applications. Using Guile in an application allows the application's functionality to be extended by users or other programmers with plug-ins modules or scripts. Guile provides what might be described as 'practical software freedom' making it possible for users to customize an application to meet their needs without digging into the application's internals. + GPL-3.0 + + + gzip + 1.8 + GNU Gzip is a popular data compression program originally written by Jean-loup Gailly for the GNU project. Mark Adler wrote the decompression part + GPL-3.0 + + + harfbuzz + 1.4.1 + HarfBuzz is an OpenType text shaping engine. + MIT + + + hicolor-icon-theme + 0.15 + Default icon theme that all icon themes automatically inherit from. + GPL-2.0 + + + iasl + 20160527 + This is a cross development C compiler assembler and linker environment for the production of 8086 executables (Optionally MSDOS COM) + Intel-ACPI + + + icu + 58.2 + The International Component for Unicode (ICU) is a mature portable set of C/C++ and Java libraries for Unicode support software internationalization (I18N) and globalization (G11N) giving applications the same results on all platforms. + ICU + + + initramfs-live-boot + 1.0 + Live image init script. + MIT + + + initramfs-live-install-efi + 1.0 + Live image install script for grub-efi. + MIT + + + initramfs-live-install + 1.0 + Live image install script for grub. + MIT + + + initscripts + 1.0 + Initscripts provide the basic system startup initialization scripts for the system. These scripts include actions such as filesystem mounting fsck RTC manipulation and other actions routinely performed at system startup. In addition the scripts are also used during system shutdown to reverse the actions performed at startup. + GPL-2.0 + + + inputproto + 2.3.2 + This package provides the wire protocol for the X Input extension. The extension supports input devices other then the core X keyboard and pointer. + MIT + + + intel-microcode + 20170511 + The microcode data file contains the latest microcode definitions for all Intel processors. Intel releases microcode updates to correct processor behavior as documented in the respective processor specification updates. While the regular approach to getting this microcode update is via a BIOS upgrade Intel realizes that this can be an administrative hassle. The Linux operating system and VMware ESX products have a mechanism to update the microcode after booting. For example this file will be used by the operating system mechanism if the file is placed in the /etc/firmware directory of the Linux system. + Intel-Microcode-License + + + intltool + 0.51.0 + Utility scripts for internationalizing XML. + GPL-2.0 + + + iproute2 + 4.10.0 + Iproute2 is a collection of utilities for controlling TCP / IP networking and traffic control in Linux. Of the utilities ip and tc are the most important. ip controls IPv4 and IPv6 configuration and tc stands for traffic control. + GPL-2.0 + + + iptables + 1.6.1 + iptables is the userspace command line program used to configure and control network packet filtering code in Linux. + GPL-2.0 + + + iucode-tool + 2.1.1 + iucode_tool is a program to manipulate Intel i686 and X86-64 processor microcode update collections and to use the kernel facilities to update the microcode on Intel system processors. It can load microcode data files in text and binary format sort list and filter the microcode updates contained in these files write selected microcode updates to a new file in binary format or upload them to the kernel. It operates on microcode data downloaded directly from Intel: http://feeds.downloadcenter.intel.com/rss/?p=2371 + GPL-2.0 + + + jansson + 2.9 + Jansson is a C library for encoding decoding and manipulating JSON data. + MIT + + + json-c + 0.12 + JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C. + MIT + + + kbd + 2.0.4 + Keytable files and keyboard utilities. + GPL-2.0 + + + kbproto + 1.0.7 + This package provides the wire protocol for the X Keyboard extension. This extension is used to control options related to keyboard handling and layout. + MIT + + + kern-tools + 0.2 + Tools for managing Yocto Project style branched kernels. + GPL-2.0 + + + kernel-devsrc + 1.0 + Development source linux kernel. When built this recipe packages the source of the preferred virtual/kernel provider and makes it available for full kernel development or external module builds + GPL-2.0 + + + keymaps + 1.0 + Keymaps and initscript to set the keymap on bootup. + GPL-2.0 + + + kmod + 23 + kmod is a set of tools to handle common tasks with Linux kernel modules like insert remove list check properties resolve dependencies and aliases. + GPL-2.0, LGPL-2.1 + + + latencytop + 0.5 + Linux tool for measuring and fixing latency. + GPL-2.0 + + + ldconfig + 2.12.1 + A standalone native ldconfig build. + GPL-2.0 + + + less + 487 + Less is a program similar to more i.e. a terminal based program for viewing text files and the output from other programs. Less offers many features beyond those that more does. + GPL-3.0, BSD-2-Clause + + + libaio + 0.3.110 + Asynchronous input/output library that uses the kernels native interface + LGPL-2.1 + + + libarchive + 3.2.2 + C library and command-line tools for reading and writing tar cpio zip ISO and other archive formats + BSD + + + libatomic-ops + 7.4.4 + A library for atomic integer operations. + GPL-2.0, MIT + + + libbsd + 0.8.3 + This library provides useful functions commonly found on BSD systems and lacking on others like GNU systems thus making it easier to port projects with strong BSD origins without needing to embed the same code over and over again on each project. + BSD-4-Clause, ISC, PD + + + libcap + 2.25 + Library for getting/setting POSIX.1e capabilities. + BSD, GPL-2.0 + + + libcgroup + 0.41 + libcgroup is a library that abstracts the control group file system in Linux. Control groups allow you to limit account and isolate resource usage (CPU memory disk I/O etc.) of groups of processes. + LGPL-2.1 + + + libcheck + 0.10.0 + Check - unit testing framework for C code. + LGPL-2.1 + + + libcroco + 0.6.11 + Cascading Style Sheet (CSS) parsing and manipulation toolkit. + LGPL-2.0, LGPL-2.1 + + + libdaemon + 0.14 + Lightweight C library which eases the writing of UNIX daemons. + LGPL-2.1 + + + libdevmapper + 2.02.166 + LVM2 is a set of utilities to manage logical volumes in Linux. + GPL-2.0, LGPL-2.0 + + + liberation-fonts + 1.04 + The Liberation(tm) Fonts is a font family originally created by Ascender(c) which aims at metric compatibility with Arial Times New Roman Courier New. + GPL-2.0 + + + libffi + 3.2.1 + The `libffi' library provides a portable high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The `libffi' library really only provides the lowest machine dependent layer of a fully featured foreign function interface. A layer must exist above `libffi' that handles type conversions for values passed between the two languages. + MIT + + + libgcc + 6.3.0 + GNU cc and gcc C compilers. + GPL-3.0-with-GCC-exception, GPL-3.0 + + + libgudev + 231 + GObject wrapper for libudev. + LGPL-2.1 + + + libice + 1.0.9 + The Inter-Client Exchange (ICE) protocol provides a generic framework for building protocols on top of reliable byte-stream transport connections. It provides basic mechanisms for setting up and shutting down connections for performing authentication for negotiating versions and for reporting errors. + MIT + + + libidn + 1.33 + Implementation of the Stringprep Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group. + LGPL-2.1, LGPL-3.0, GPL-3.0 + + + libjpeg-turbo + 1.5.1 + libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX SSE2 NEON) to accelerate baseline JPEG compression and decompression + BSD-3-Clause + + + libmpc + 1.0.3 + Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It is built upon and follows the same principles as Mpfr + LGPL-3.0 + + + libndp + 1.6 + Library for IPv6 Neighbor Discovery Protocol. + LGPL-2.1 + + + libnewt + 0.52.19 + Newt is a programming library for color text mode widget based user interfaces. Newt can be used to add stacked windows entry widgets checkboxes radio buttons labels plain text fields scrollbars etc. to text mode user interfaces. This package also contains the shared library needed by programs built with newt as well as a /usr/bin/dialog replacement called whiptail. Newt is based on the slang library. + LGPL-2.0 + + + libnl + 3.2.29 + A library for applications dealing with netlink sockets. + LGPL-2.1 + + + libnss-mdns + 0.10 + Name Service Switch module for Multicast DNS (zeroconf) name resolution. + LGPL-2.1 + + + libpcap + 1.8.1 + Libpcap provides a portable framework for low-level network monitoring. Libpcap can provide network statistics collection security monitoring and network debugging. + BSD + + + libpciaccess + 0.13.4 + libpciaccess provides functionality for X to access the PCI bus and devices in a platform-independent way. + MIT + + + libpcre + 8.40 + The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API as well as a set of wrapper functions that correspond to the POSIX regular expression API. + BSD + + + libpng + 1.6.28 + PNG image format decoding library. + Libpng + + + libpthread-stubs + 0.3 + This library provides weak aliases for pthread functions not provided in libc or otherwise available by default. + MIT + + + librsvg + 2.40.16 + Library for rendering SVG files. + LGPL-2.0 + + + libsdl + 1.2.15 + Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio keyboard mouse joystick 3D hardware via OpenGL and 2D video framebuffer. + LGPL-2.1 + + + libsm + 1.2.2 + "The Session Management Library (SMlib) is a low-level \""C\"" language interface to XSMP. The purpose of the X Session Management Protocol (XSMP) is to provide a uniform mechanism for users to save and restore their sessions. A session is a group of clients each of which has a particular state." + MIT + + + libtasn1 + 4.10 + Library for ASN.1 and DER manipulation. + GPL-3.0, LGPL-2.1 + + + libtool + 2.4.6 + This is GNU libtool a generic library support script. Libtool hides the complexity of generating special library types (such as shared libraries) behind a consistent interface. + GPL-2.0, LGPL-2.1 + + + libunistring + 0.9.7 + Text files are nowadays usually encoded in Unicode and may consist of very different scripts from Latin letters to Chinese Hanzi with many kinds of special characters accents right-to-left writing marks hyphens Roman numbers and much more. But the POSIX platform APIs for text do not contain adequate functions for dealing with particular properties of many Unicode characters. In fact the POSIX APIs for text have several assumptions at their base which don't hold for Unicode text. This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard. This package contains documentation. + LGPL-3.0, GPL-2.0 + + + liburcu + 0.9.3 + Userspace RCU (read-copy-update) library. + LGPL-2.1, MIT + + + libvirt + 1.3.5 + A toolkit to interact with the virtualization capabilities of recent versions of Linux. + LGPL-2.1, GPL-2.0 + + + libx11 + 1.6.4 + This package provides a client interface to the X Window System otherwise known as 'Xlib'. It provides a complete API for the basic functions of the window system. + MIT, BSD + + + libxau + 1.0.8 + libxau provides the main interfaces to the X11 authorisation handling which controls authorisation for X connections both client-side and server-side. + MIT + + + libxcb + 1.12 + The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint latency hiding direct access to the protocol improved threading support and extensibility. + MIT + + + libxcomposite + 0.4.4 + The composite extension provides three related mechanisms: per-hierarchy storage automatic shadow update and external parent. In per-hierarchy storage the rendering of an entire hierarchy of windows is redirected to off-screen storage. In automatic shadow update when a hierarchy is rendered off-screen the X server provides an automatic mechanism for presenting those contents within the parent window. In external parent a mechanism for providing redirection of compositing transformations through a client. + MIT + + + libxcursor + 1.1.14 + Xcursor is a simple library designed to help locate and load cursors. Cursors can be loaded from files or memory. A library of common cursors exists which map to the standard X cursor names. Cursors can exist in several sizes and the library automatically picks the best size. + MIT + + + libxdamage + 1.1.4 + 'Damage' is a term that describes changes make to pixel contents of windows and pixmaps. Damage accumulates as drawing occurs in the drawable. Each drawing operation 'damages' one or more rectangular areas within the drawable. The rectangles are guaranteed to include the set of pixels modified by each operation but may include significantly more than just those pixels. The DAMAGE extension allows applications to either receive the raw rectangles as a stream of events or to have them partially processed within the X server to reduce the amount of data transmitted as well as reduce the processing latency once the repaint operation has started. + MIT + + + libxdmcp + 1.1.2 + The purpose of the X Display Manager Control Protocol (XDMCP) is to provide a uniform mechanism for an autonomous display to request login service from a remote host. An X terminal (screen keyboard mouse processor network interface) is a prime example of an autonomous display. + MIT + + + libxext + 1.3.3 + libXext provides an X Window System client interface to several extensions to the X protocol. The supported protocol extensions are DOUBLE-BUFFER DPMS Extended-Visual-Information LBX MIT_SHM MIT_SUNDRY-NONSTANDARD Multi-Buffering SECURITY SHAPE SYNC TOG-CUP XC-APPGROUP XC-MISC XTEST. libXext also provides a small set of utility functions to aid authors of client APIs for X protocol extensions. + MIT + + + libxfixes + 5.0.3 + X applications have often needed to work around various shortcomings in the core X window system. This extension is designed to provide the minimal server-side support necessary to eliminate problems caused by these workarounds. + MIT + + + libxft + 2.3.2 + Xft was designed to provide good support for scalable fonts and to do so efficiently. Unlike the core fonts system it supports features such as anti-aliasing and sub-pixel rasterisation. Perhaps more importantly it gives applications full control over the way glyphs are rendered making fine typesetting and WYSIWIG display possible. Finally it allows applications to use fonts that are not installed system-wide for displaying documents with embedded fonts. Xft is not compatible with the core fonts system: usage of Xft requires fairly extensive changes to toolkits (user-interface libraries). + MIT + + + libxkbcommon + 0.7.1 + libxkbcommon is a keymap compiler and support library which processes a reduced subset of keymaps as defined by the XKB specification. + MIT + + + libxml-parser-perl + 2.44 + XML::Parser - A perl module for parsing XML documents. + Artistic-1.0, GPL-1.0 + + + libxml2 + 2.9.4 + The XML Parser Library allows for manipulation of XML files. Libxml2 exports Push and Pull type parser interfaces for both XML and HTML. It can do DTD validation at parse time on a parsed document instance or with an arbitrary DTD. Libxml2 includes complete XPath XPointer and Xinclude implementations. It also has a SAX like interface which is designed to be compatible with Expat. + MIT + + + libxrandr + 1.5.1 + The X Resize Rotate and Reflect Extension called RandR for short brings the ability to resize rotate and reflect the root window of a screen. It is based on the X Resize and Rotate Extension as specified in the Proceedings of the 2001 Usenix Technical Conference [RANDR]. + MIT + + + libxrender + 0.9.10 + The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tessellation into either triangles or trapezoids. Text is drawn by loading glyphs into the server and rendering sets of them. + MIT + + + libxslt + 1.1.29 + GNOME XSLT library. + MIT + + + linux-firmware + 0.0 + Firmware files for use with Linux kernel. + Redistributable binaries + + + linux-intel-sdk + 4.9.27 + Linux kernel. + GPL-2.0 + + + linux-intel + 4.9.27 + Linux kernel. + GPL-2.0 + + + linux-libc-headers + 4.10 + Sanitized set of kernel headers for the C library's use. + GPL-2.0 + + + linux-yocto + 4.9.21 + Linux kernel. + GPL-2.0 + + + lsb + 4.1 + LSB support for OpenEmbedded. + GPL-2.0 + + + lsbinitscripts + 9.68 + SysV init scripts which are only used in an LSB image. + GPL-2.0 + + + lttng-modules + 2.9.1 + The lttng-modules 2.0 package contains the kernel tracer modules + LGPL-2.1, GPL-2.0, MIT + + + lttng-tools + 2.9.4 + The Linux trace toolkit is a suite of tools designed to extract program execution details from the Linux operating system and interpret them. + GPL-2.0, LGPL-2.1 + + + lttng-ust + 2.9.0 + The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes. + LGPL-2.1, MIT, GPL-2.0 + + + lvm2 + 2.02.166 + LVM2 is a set of utilities to manage logical volumes in Linux. + GPL-2.0, LGPL-2.0 + + + lxc + 2.0.0 + lxc aims to use these new functionnalities to provide an userspace container object + GPL-2.0 + + + lxd + git + "LXD is a container ""hypervisor"" and a new user experience for LXC Specifically it's made of three components: - A system-wide daemon (lxd) - A command line client (lxc) - An OpenStack Nova plugin (nova-compute-lxd)" + Apache-2.0 + + + lz4 + 131 + LZ4 is a very fast lossless compression algorithm providing compression speed at 400 MB/s per core scalable with multi-cores CPU. It also features an extremely fast decoder with speed in multiple GB/s per core typically reaching RAM speed limits on multi-core systems. + BSD + + + lzo + 2.09 + Lossless data compression library. + GPL-2.0 + + + lzop + 1.03 + lzop is a compression utility which is designed to be a companion to gzip. \nIt is based on the LZO data compression library and its main advantages over \ngzip are much higher compression and decompression speed at the cost of some \ncompression ratio. The lzop compression utility was designed with the goals \nof reliability speed portability and with reasonable drop-in compatibility \nto gzip. + GPL-2.0 + + + m4 + 1.4.18 + GNU m4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible although it has some extensions (for example handling more than 9 positional parameters to macros). GNU M4 also has built-in functions for including files running shell commands doing arithmetic etc. + GPL-3.0 + + + make + 4.2.1 + Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. Make gets its knowledge of how to build your program from a file called the makefile which lists each of the non-source files and how to compute it from other files. + GPL-3.0, LGPL-2.0 + + + makedepend + 1.0.5 + The makedepend program reads each sourcefile in sequence and parses it like a C-preprocessor processing all #include #define #undef #ifdef #ifndef #endif #if #elif and #else directives so that it can correctly tell which #include directives would be used in a compilation. Any #include directives can reference files having other #include directives and parsing will occur in these files as well. + MIT + + + makedevs + 1.0.1 + Tool for creating device nodes. + GPL-2.0 + + + man + 1.6g + A set of documentation tools: man apropos and whatis + GPL-2.0 + + + mklibs + 0.1.43 + mklibs produces cut-down shared libraries that contain only the routines required by a particular set of executables. + GPL-2.0 + + + mozjs + 17.0.0 + SpiderMonkey is Mozilla's JavaScript engine written in C/C++. + MPL-2.0 + + + mpfr + 3.1.5 + C library for multiple-precision floating-point computations with exact rounding. + GPL-3.0, LGPL-3.0 + + + mtools + 4.0.18 + Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them. + GPL-3.0 + + + nasm + 2.12.02 + General-purpose x86 assembler. + BSD-2-Clause + + + ncurses + 6.0 + SVr4 and XSI-Curses compatible curses library and terminfo tools including tic infocmp captoinfo. Supports color multiple highlights forms-drawing characters and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library. + MIT + + + netbase + 5.4 + This package provides the necessary infrastructure for basic TCP/IP based networking + GPL-2.0 + + + netcat-openbsd + 1.105 + A simple Unix utility which reads and writes data across network connections using TCP or UDP protocol. It is designed to be a reliable 'back-end' tool that can be used directly or easily driven by other programs and scripts. At the same time it is a feature-rich network debugging and exploration tool since it can create almost any kind of connection you would need and has several interesting built-in capabilities. + BSD-3-Clause + + + netcf + 0.2.8 + netcf is a cross-platform network configuration library. + LGPL-2.1 + + + nettle + 3.3 + A low level cryptographic library. + LGPL-3.0, GPL-2.0 + + + networkmanager + 1.4.4 + NetworkManager. + GPL-2.0 + + + notary + 0.4.2 + Notary is a Docker project that allows anyone to have trust over arbitrary collections of data + Apache-2.0 + + + nspr + 4.13.1 + Netscape Portable Runtime Library. + GPL-2.0, MPL-2.0, LGPL-2.1 + + + nss + 3.28.1 + Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3 TLS PKCS 5 PKCS 7 PKCS 11 PKCS 12 S/MIME X.509 v3 certificates and other security standards. + MPL-2.0, GPL-2.0, MPL-2.0, LGPL-2.1 + + + odp-dpdk + 1.13.0.0 + OpenDataPlane (ODP-DPDK). + BSD-3-Clause + + + ofp + 2.0.0 + OpenFastPath. + BSD-3-Clause + + + openssl + 1.0.2k + Secure Socket Layer (SSL) binary and related cryptographic tools. + OpenSSL + + + openvswitch + 2.7.0 + Open vSwitch is a production quality multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension while still supporting standard management interfaces and protocols (e.g. NetFlow sFlow SPAN RSPAN CLI LACP 802.1ag) + Apache-2.0 + + + opkg-utils + 0.3.4 + Additional utilities for the opkg package manager. + GPL-2.0 + + + oprofile + 1.1.0 + OProfile is a system-wide profiler for Linux systems capable of profiling all running code at low overhead. + LGPL-2.1, GPL-2.0 + + + os-release + 1.0 + The /etc/os-release file contains operating system identification data. + MIT + + + ossp-uuid + 1.6.2 + OSSP uuid is a ISO-C:1999 application programming interface (API) and corresponding command line interface (CLI) for the generation of DCE 1.1 ISO/IEC 11578:1996 and RFC 4122 compliant Universally Unique Identifier (UUID). It supports DCE 1.1 variant UUIDs of version 1 (time and node based) version 3 (name based MD5) version 4 (random number based) and version 5 (name based SHA-1). + MIT + + + ovmf + git + OVMF - UEFI firmware for Qemu and KVM + BSD + + + packagegroup-core-boot + 1.0 + The minimal set of packages required to boot the system + MIT + + + packagegroup-core-ssh-dropbear + 1.0 + Dropbear SSH client/server. + MIT + + + packagegroup-enea-virtualization-docker + 1.0 + Packagegroup for Docker. + MIT + + + packagegroup-enea-virtualization-dpdk + 1.0 + Packagegroup for DPDK. + MIT + + + packagegroup-enea-virtualization-guest + 1.0 + This package group includes packages and packagegroups specific to the guest side of the Enea Linux Virtualization Profile. + MIT + + + packagegroup-enea-virtualization-host + 1.0 + This package group includes packages and packagegroups specific to the host side of the Enea Linux Virtualization Profile. + MIT + + + packagegroup-enea-virtualization-lxc + 1.0 + Packagegroup for LXC. + MIT + + + packagegroup-enea-virtualization-lxd + 1.0 + Packagegroup for LXD. + MIT + + + packagegroup-enea-virtualization-ofp + 1.0 + Packagegroup for OpenFastPath. + MIT + + + packagegroup-enea-virtualization-ovs + 1.0 + Packagegroup for Open vSwitch. + MIT + + + packagegroup-enea-virtualization-qemu + 1.0 + Packagegroup for QEMU. + MIT + + + packagegroup-enea-virtualization-tools + 1.0 + Enea Linux debugging tools. + MIT + + + packagegroup-enea-virtualization + 1.0 + This packagegroup includes packages and packagegroups required for both host and guest images of the Enea Linux Virtualization Profile. + MIT + + + pango + 1.40.3 + Pango is a library for laying out and rendering of text with an emphasis on internationalization. Pango can be used anywhere that text layout is needed though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x. + LGPL-2.0 + + + parted + 3.2 + Disk partition editing/resizing utility. + GPL-3.0 + + + partrt + 1.1 + partrt is a tool for dividing a SMP Linux system into a real time domain and a non-real time domain. + BSD + + + pbzip2 + 1.1.13 + PBZIP2 is a parallel implementation of the bzip2 block-sorting file compressor that uses pthreads and achieves near-linear speedup on SMP machines. The output of this version is fully compatible with bzip2 v1.0.2 or newer (ie: anything compressed with pbzip2 can be decompressed with bzip2). + BSD + + + pciutils + 3.5.2 + The PCI Utilities package contains a library for portable access to PCI bus configuration space and several utilities based on this library. + GPL-2.0 + + + perf + 1.0 + Performance counters for Linux are a new kernel-based subsystem that provide a framework for all things performance analysis. It covers hardware level (CPU/PMU Performance Monitoring Unit) features and software features (software counters tracepoints) as well. + GPL-2.0 + + + perl + 5.24.1 + Perl scripting language. + Artistic-1.0, GPL-1.0 + + + pigz + 2.3.4 + pigz which stands for parallel implementation of gzip is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler and uses the zlib and pthread libraries. + Zlib, Apache-2.0 + + + pixman + 0.34.0 + Pixman provides a library for manipulating pixel regions -- a set of Y-X banded rectangles image compositing using the Porter/Duff model and implicit mask generation for geometric primitives including trapezoids triangles and rectangles. + MIT, PD + + + pkgconfig + 0.29.1 + pkg-config is a helper tool used when compiling applications and libraries. It helps determined the correct compiler/link options. It is also language-agnostic. + GPL-2.0 + + + pm-utils + 1.4.1 + Simple shell command line tools to suspend and hibernate. + GPL-2.0 + + + polkit + 0.113 + The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes. + LGPL-2.0 + + + popt + 1.16 + Library for parsing command line options. + MIT + + + prelink + 1.0 + The prelink package contains a utility which modifies ELF shared libraries and executables so that far fewer relocations need to be resolved at runtime and thus programs come up faster. + GPL-2.0 + + + procps + 3.3.12 + Procps contains a set of system utilities that provide system information about processes using the /proc filesystem. The package includes the programs ps top vmstat w kill and skill. + GPL-2.0, LGPL-2.0 + + + pseudo + 1.8.2 + Pseudo gives fake root capabilities to a normal user. + LGPL-2.1 + + + ptest-runner + 2.0.2 + The ptest-runner2 package installs a ptest-runner program which loops through all installed ptest test suites and runs them in sequence. + GPL-2.0 + + + python-netifaces + 0.10.6 + Portable network interface information.. + MIT + + + python-setuptools + 32.1.1 + Download build install upgrade and uninstall Python packages. + MIT + + + python-six + 1.10.0 + Python 2 and 3 compatibility utilities + MIT + + + python-twisted + 13.2.0 + Twisted is an event-driven networking framework written in Python and licensed under the LGPL. Twisted supports TCP UDP SSL/TLS multicast Unix sockets a large number of protocols (including HTTP NNTP IMAP SSH IRC FTP and others) and much more. + MIT + + + python-zopeinterface + 4.3.3 + Interface definitions for Zope products. + ZPL-2.1 + + + python + 2.7.13 + The Python Programming Language. + Python-2.0 + + + python3-setuptools + 32.1.1 + Download build install upgrade and uninstall Python packages. + MIT + + + python3 + 3.5.2 + The Python Programming Language. + Python-2.0 + + + qemu-helper + 1.0 + Helper utilities needed by the runqemu script. + GPL-2.0 + + + qemu + 2.8.0 + Fast open source processor emulator. + GPL-2.0, LGPL-2.1 + + + qemuwrapper + 1.0 + QEMU wrapper script. + MIT + + + quilt + 0.65 + Tool for working with series of patches. + GPL-2.0 + + + randrproto + 1.5.0 + This package provides the wire protocol for the X Resize Rotate and Reflect extension. This extension provides the ability to resize rotate and reflect the root window of a screen. + MIT + + + readline + 7.0 + The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes additional functions to maintain a list of previously-entered command lines to recall and perhaps reedit those lines and perform csh-like history expansion on previous commands. + GPL-3.0 + + + renderproto + 0.11.1 + This package provides the wire protocol for the X Rendering extension. This is the basis the image composition within the X window system. + MIT + + + rmc-db + 1.0 + Generate a centralized RMC database for RMC feature. Fingerprints and data for all boards supported are specified by variable RMC_BOARD_DATA_DIRS which is a list of top directories that contains subdirectories for boards. Developers can add their top directories by appending them to this variable in a rmc-db.bbappend.Refer to rmc-db bbclass for more information. + MIT + + + rmc + 1.0 + RMC project provides a tool and libraries to identify types of hardware boards and access any file-based data specific to the board's type at runtime in a centralized way. Software (clients) can have a generic logic to query board-specific data from RMC without knowing the type of board. This make it possible to have a generic software work running on boards which require any quirks or customizations at a board or product level. + MIT + + + rpm + 4.13.90 + The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing uninstalling verifying querying and updating software packages. Each software package consists of an archive of files along with information about the package like its version a description etc. + GPL-2.0 + + + rsync + 3.1.2 + File synchronization tool. + GPL-3.0 + + + run-postinsts + 1.0 + Runs postinstall scripts on first boot of the target device. + MIT + + + runc-docker + 1.0.0-rc2 + runc is a CLI tool for spawning and running containers according to the OCI specification. + Apache-2.0 + + + sed + 4.2.2 + Stream EDitor (text filtering utility). + GPL-3.0 + + + shadow-securetty + 4.2.1 + Provider of the machine specific securetty file. + MIT + + + shadow-sysroot + 4.2.1 + Shadow utils requirements for useradd.bbclass. + BSD, Artistic-1.0 + + + shadow + 4.2.1 + Tools to change and administer password and group data. + BSD, Artistic-1.0 + + + shared-mime-info + 1.8 + Shared MIME type database and specification. + LGPL-2.0 + + + slang + 2.3.1a + S-Lang is an interpreted language and a programming library. The S-Lang language was designed so that it can be easily embedded into a program to provide the program with a powerful extension language. The S-Lang library provided in this package provides the S-Lang extension language. S-Lang's syntax resembles C which makes it easy to recode S-Lang procedures in C if you need to. + GPL-2.0 + + + sqlite3 + 3.17.0 + Embeddable SQL database engine. + PD + + + squashfs-tools + 4.3 + Tools for manipulating SquashFS filesystems. + GPL-2.0, PD + + + sysfsutils + 2.1.0 + Tools for working with the sysfs virtual filesystem. The tool 'systool' can query devices by bus class and topology. + GPL-2.0, LGPL-2.1 + + + syslinux + 6.03 + Multi-purpose linux bootloader. + GPL-2.0 + + + systemd-boot + 232 + systemd is a system and service manager for Linux compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities uses socket and D-Bus activation for starting services offers on-demand starting of daemons keeps track of processes using Linux cgroups supports snapshotting and restoring of the system state maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. + GPL-2.0, LGPL-2.1 + + + systemd-compat-units + 1.0 + Enhances systemd compatilibity with existing SysVinit scripts. + MIT + + + systemd-serialgetty + 1.0 + Serial terminal support for systemd. + GPL-2.0 + + + systemd-systemctl + 1.0 + Wrapper for enabling systemd services. + MIT + + + systemd + 232 + systemd is a system and service manager for Linux compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities uses socket and D-Bus activation for starting services offers on-demand starting of daemons keeps track of processes using Linux cgroups supports snapshotting and restoring of the system state maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. + GPL-2.0, LGPL-2.1 + + + systemtap + 3.1 + Script-directed dynamic tracing and performance analysis tool for Linux. + GPL-2.0 + + + tar + 1.29 + GNU tar saves many files together into a single tape or disk archive and can restore individual files from the archive. + GPL-3.0 + + + texinfo-dummy + 1.0 + Fake version of the texinfo utility suite. + MIT + + + thin-provisioning-tools + 0.6.3 + A suite of tools for manipulating the metadata of the dm-thin device-mapper target. + GPL-3.0 + + + tunctl + 1.5 + Tool for controlling the Linux TUN/TAP driver. + GPL-2.0 + + + tzcode + 2017b + tzcode timezone zoneinfo utils -- zic zdump tzselect. + PD, BSD, BSD-3-Clause + + + tzdata + 2017b + Timezone data. + PD, BSD, BSD-3-Clause + + + udev-extraconf + 1.1 + Extra machine specific configuration files for udev specifically blacklist information. + MIT + + + unifdef + 2.11 + Selectively remove #ifdef statements from sources. + BSD-2-Clause + + + update-rc.d + 0.7 + update-rc.d is a utility that allows the management of symlinks to the initscripts in the /etc/rcN.d directory structure. + GPL-2.0 + + + util-linux + 2.29.1 + Util-linux includes a suite of basic system administration utilities commonly found on most Linux systems. Some of the more important utilities include disk partitioning kernel message management filesystem creation and system login. + GPL-2.0, LGPL-2.1, BSD + + + util-macros + 1.19.1 + M4 autotools macros used by various X.org programs. + MIT + + + v86d + 0.1.10 + User support binary for the uvesafb kernel module. + GPL-2.0 + + + vala + 0.34.4 + Vala is a C#-like language dedicated to ease GObject programming. Vala compiles to plain C and has no runtime environment nor penalities whatsoever. + LGPL-2.1 + + + volatile-binds + 1.0 + Volatile bind mount setup and configuration for read-only-rootfs + MIT + + + wic-tools + 1.0 + A meta recipe to build native tools used by wic.. + MIT + + + xcb-proto + 1.12 + Function prototypes for the X protocol C-language Binding (XCB). XCB is a replacement for Xlib featuring a small footprint latency hiding direct access to the protocol improved threading support and extensibility. + MIT + + + xextproto + 7.3.0 + This package provides the wire protocol for several X extensions. These protocol extensions include DOUBLE-BUFFER DPMS Extended-Visual-Information LBX MIT_SHM MIT_SUNDRY-NONSTANDARD Multi-Buffering SECURITY SHAPE SYNC TOG-CUP XC-APPGROUP XC-MISC XTEST. In addition a small set of utility functions are also available. + MIT + + + xkeyboard-config + 2.20 + The non-arch keyboard configuration database for X Window. The goal is to provide the consistent well-structured frequently released open source of X keyboard configuration data for X Window System implementations. The project is targeted to XKB-based systems. + MIT + + + xmlto + 0.0.28 + A shell-script tool for converting XML files to various formats. + GPL-2.0 + + + xproto + 7.0.31 + This package provides the basic headers for the X Window System. + MIT + + + xtrans + 1.3.5 + The X Transport Interface is intended to combine all system and transport specific code into a single place. This API should be used by all libraries clients and servers of the X Window System. Use of this API should allow the addition of new types of transports and support for new platforms without making any changes to the source except in the X Transport Interface code. + MIT + + + xz + 5.2.3 + Utilities for managing LZMA compressed files. + GPL-2.0, LGPL-2.1, PD + + + yajl + 2.1.0 + YAJL is a small event-driven (SAX-style) JSON parser written in ANSI C and a small validating JSON generator. + ISC + + + zisofs-tools + 1.0.8 + Utilities for creating compressed CD-ROM filesystems. + GPL-2.0 + + + zlib + 1.2.11 + Zlib is a general-purpose patent-free lossless data compression library which is used by many different programs. + Zlib + + + + +
+
+ Open Source Licenses +
+AFL-2.0 + + +The Academic Free License + v. 2.0 + +This Academic Free License (the "License") applies to any original work of authorship +(the "Original Work") whose owner (the "Licensor") has placed the following notice +immediately following the copyright notice for the Original Work: +Licensed under the Academic Free License version 2.0 + +1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, +non-exclusive, perpetual, sublicenseable license to do the following: +a) to reproduce the Original Work in copies; + +b) to prepare derivative works ("Derivative Works") based upon the Original Work; + +c) to distribute copies of the Original Work and Derivative Works to the public; + +d) to perform the Original Work publicly; and + +e) to display the Original Work publicly. + +2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, +non-exclusive, perpetual, sublicenseable license, under patent claims owned or +controlled by the Licensor that are embodied in the Original Work as furnished by the +Licensor, to make, use, sell and offer for sale the Original Work and Derivative +Works. + +3) Grant of Source Code License. The term "Source Code" means the preferred form of +the Original Work for making modifications to it and all available documentation +describing how to modify the Original Work. Licensor hereby agrees to provide a +machine-readable copy of the Source Code of the Original Work along with each copy of +the Original Work that Licensor distributes. Licensor reserves the right to satisfy +this obligation by placing a machine-readable copy of the Source Code in an +information repository reasonably calculated to permit inexpensive and convenient +access by You for as long as Licensor continues to distribute the Original Work, and +by publishing the address of that information repository in a notice immediately +following the copyright notice that applies to the Original Work. + +4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any +contributors to the Original Work, nor any of their trademarks or service marks, may +be used to endorse or promote products derived from this Original Work without express +prior written permission of the Licensor. Nothing in this License shall be deemed to +grant any rights to trademarks, copyrights, patents, trade secrets or any other +intellectual property of Licensor except as expressly stated herein. No patent +license is granted to make, use, sell or offer to sell embodiments of any patent +claims other than the licensed claims defined in Section 2. No right is granted to +the trademarks of Licensor even if such marks are included in the Original Work. +Nothing in this License shall be interpreted to prohibit Licensor from licensing under +different terms from this License any Original Work that Licensor otherwise would have +a right to license. + +5) This section intentionally omitted. + +6) Attribution Rights. You must retain, in the Source Code of any Derivative Works +that You create, all copyright, patent or trademark notices from the Source Code of +the Original Work, as well as any notices of licensing and any descriptive text +identified therein as an "Attribution Notice." You must cause the Source Code for any +Derivative Works that You create to carry a prominent Attribution Notice reasonably +calculated to inform recipients that You have modified the Original Work. + +7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the +copyright in and to the Original Work and the patent rights granted herein by Licensor +are owned by the Licensor or are sublicensed to You under the terms of this License +with the permission of the contributor(s) of those copyrights and patent rights. +Except as expressly stated in the immediately proceeding sentence, the Original Work +is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either +express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE +QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an +essential part of this License. No license to Original Work is granted hereunder +except under this disclaimer. + +8) Limitation of Liability. Under no circumstances and under no legal theory, whether +in tort (including negligence), contract, or otherwise, shall the Licensor be liable +to any person for any direct, indirect, special, incidental, or consequential damages +of any character arising as a result of this License or the use of the Original Work +including, without limitation, damages for loss of goodwill, work stoppage, computer +failure or malfunction, or any and all other commercial damages or losses. This +limitation of liability shall not apply to liability for death or personal injury +resulting from Licensor`s negligence to the extent applicable law prohibits such +limitation. Some jurisdictions do not allow the exclusion or limitation of incidental +or consequential damages, so this exclusion and limitation may not apply to You. + +9) Acceptance and Termination. If You distribute copies of the Original Work or a +Derivative Work, You must make a reasonable effort under the circumstances to obtain +the express assent of recipients to the terms of this License. Nothing else but this +License (or another written agreement between Licensor and You) grants You permission +to create Derivative Works based upon the Original Work or to exercise any of the +rights granted in Section 1 herein, and any attempt to do so except under the terms of +this License (or another written agreement between Licensor and You) is expressly +prohibited by U.S. copyright law, the equivalent laws of other countries, and by +international treaty. Therefore, by exercising any of the rights granted to You in +Section 1 herein, You indicate Your acceptance of this License and all of its terms +and conditions. + +10) Termination for Patent Action. This License shall terminate automatically and You +may no longer exercise any of the rights granted to You by this License as of the date +You commence an action, including a cross-claim or counterclaim, for patent +infringement (i) against Licensor with respect to a patent applicable to software or +(ii) against any entity with respect to a patent applicable to the Original Work (but +excluding combinations of the Original Work with other software or hardware). + +11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License +may be brought only in the courts of a jurisdiction wherein the Licensor resides or in +which Licensor conducts its primary business, and under the laws of that jurisdiction +excluding its conflict-of-law provisions. The application of the United Nations +Convention on Contracts for the International Sale of Goods is expressly excluded. +Any use of the Original Work outside the scope of this License or after its +termination shall be subject to the requirements and penalties of the U.S. Copyright +Act, 17 U.S.C. ¤ 101 et seq., the equivalent laws of other countries, and +international treaty. This section shall survive the termination of this License. + +12) Attorneys Fees. In any action to enforce the terms of this License or seeking +damages relating thereto, the prevailing party shall be entitled to recover its costs +and expenses, including, without limitation, reasonable attorneys` fees and costs +incurred in connection with such action, including any appeal of such action. This +section shall survive the termination of this License. + +13) Miscellaneous. This License represents the complete agreement concerning the +subject matter hereof. If any provision of this License is held to be unenforceable, +such provision shall be reformed only to the extent necessary to make it enforceable. + +14) Definition of "You" in This License. "You" throughout this License, whether in +upper or lower case, means an individual or a legal entity exercising rights under, +and complying with all of the terms of, this License. For legal entities, "You" +includes any entity that controls, is controlled by, or is under common control with +you. For purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, +or (iii) beneficial ownership of such entity. + +15) Right to Use. You may use the Original Work in all ways not otherwise restricted +or conditioned by this License or by law, and Licensor promises not to interfere with +or be responsible for such uses by You. + +This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved. +Permission is hereby granted to copy and distribute this license without modification. +This license may not be modified without the express written permission of its +copyright owner. + +
+ +
+Apache-2.0 + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don`t include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +
+ +
+Artistic-1.0 + + +The Artistic License +Preamble + +The intent of this document is to state the conditions under which a Package may be +copied, such that the Copyright Holder maintains some semblance of artistic control +over the development of the package, while giving the users of the package the right +to use and distribute the Package in a more-or-less customary fashion, plus the right +to make reasonable modifications. + +Definitions: + +"Package" refers to the collection of files distributed by the Copyright Holder, and +derivatives of that collection of files created through textual modification. +"Standard Version" refers to such a Package if it has not been modified, or has been +modified in accordance with the wishes of the Copyright Holder. +"Copyright Holder" is whoever is named in the copyright or copyrights for the package. +"You" is you, if you`re thinking about copying or distributing this Package. +"Reasonable copying fee" is whatever you can justify on the basis of media cost, +duplication charges, time of people involved, and so on. (You will not be required to +justify it to the Copyright Holder, but only to the computing community at large as a +market that must bear the fee.) +"Freely Available" means that no fee is charged for the item itself, though there may +be fees involved in handling the item. It also means that recipients of the item may +redistribute it under the same conditions they received it. +1. You may make and give away verbatim copies of the source form of the Standard +Version of this Package without restriction, provided that you duplicate all of the +original copyright notices and associated disclaimers. + +2. You may apply bug fixes, portability fixes and other modifications derived from the +Public Domain or from the Copyright Holder. A Package modified in such a way shall +still be considered the Standard Version. + +3. You may otherwise modify your copy of this Package in any way, provided that you +insert a prominent notice in each changed file stating how and when you changed that +file, and provided that you do at least ONE of the following: + +a) place your modifications in the Public Domain or otherwise make them Freely +Available, such as by posting said modifications to Usenet or an equivalent medium, or +placing the modifications on a major archive site such as ftp.uu.net, or by allowing +the Copyright Holder to include your modifications in the Standard Version of the +Package. + +b) use the modified Package only within your corporation or organization. + +c) rename any non-standard executables so the names do not conflict with standard +executables, which must also be provided, and provide a separate manual page for each +non-standard executable that clearly documents how it differs from the Standard +Version. + +d) make other distribution arrangements with the Copyright Holder. + +4. You may distribute the programs of this Package in object code or executable form, +provided that you do at least ONE of the following: + +a) distribute a Standard Version of the executables and library files, together with +instructions (in the manual page or equivalent) on where to get the Standard Version. + +b) accompany the distribution with the machine-readable source of the Package with +your modifications. + +c) accompany any non-standard executables with their corresponding Standard Version +executables, giving the non-standard executables non-standard names, and clearly +documenting the differences in manual pages (or equivalent), together with +instructions on where to get the Standard Version. + +d) make other distribution arrangements with the Copyright Holder. + +5. You may charge a reasonable copying fee for any distribution of this Package. You +may charge any fee you choose for support of this Package. You may not charge a fee +for this Package itself. However, you may distribute this Package in aggregate with +other (possibly commercial) programs as part of a larger (possibly commercial) +software distribution provided that you do not advertise this Package as a product of +your own. + +6. The scripts and library files supplied as input to or produced as output from the +programs of this Package do not automatically fall under the copyright of this +Package, but belong to whomever generated them, and may be sold commercially, and may +be aggregated with this Package. + +7. C or perl subroutines supplied by you and linked into this Package shall not be +considered part of this Package. + +8. The name of the Copyright Holder may not be used to endorse or promote products +derived from this software without specific prior written permission. + +9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS +FOR A PARTICULAR PURPOSE. + +The End + +
+ +
+BSD + +Copyright (c) The Regents of the University of California. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. +
+ +
+BSD-2-Clause + + +The FreeBSD Copyright + +Copyright 1992-2010 The FreeBSD Project. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are +permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or other materials +provided with the distribution. +THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS`` AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD +PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +The views and conclusions contained in the software and documentation are those of the +authors and should not be interpreted as representing official policies, either +expressed or implied, of the FreeBSD Project. + +
+ +
+BSD-3-Clause + + +Copyright (c) <YEAR>, <OWNER> +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are +permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of +conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or other materials +provided with the distribution. +Neither the name of the <ORGANIZATION> nor the names of its contributors may be +used to endorse or promote products derived from this software without specific prior +written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +
+ +
+BSD-4-Clause + + +Copyright (c) <year>, <copyright holder> +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by the <organization>. +4. Neither the name of the <organization> nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS`` AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +
+ +
+BSL-1.0 + + +Boost Software License - Version 1.0 - August 17th, 2003 + +Permission is hereby granted, free of charge, to any person or organization +obtaining a copy of the software and accompanying documentation covered by +this license (the "Software") to use, reproduce, display, distribute, +execute, and transmit the Software, and to prepare derivative works of the +Software, and to permit third-parties to whom the Software is furnished to +do so, all subject to the following: + +The copyright notices in the Software and this entire statement, including +the above license grant, this restriction and the following disclaimer, +must be included in all copies of the Software, in whole or in part, and +all derivative works of the Software, unless such copies or derivative +works are solely in the form of machine-executable object code generated by +a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + +
+ +
+Elfutils-Exception + + This file describes the limits of the Exception under which you are allowed + to distribute Non-GPL Code in linked combination with Red Hat elfutils. + For the full text of the license, please see one of the header files + included with the source distribution or the file COPYING found in the + top level directory of the source. + + The Approved Interfaces are the functions declared in the files: + + libelf.h + libdw.h + libdwfl.h + +
+ +
+FSF-Unlimited + +Copyright (C) 1997-2010 Free Software Foundation, Inc. +This file is free software; the Free Software Foundation +gives unlimited permission to copy and/or distribute it, +with or without modifications, as long as this notice is preserved. +
+ +
+FreeType + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright � <year> The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace <year> with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + http://www.freetype.org + + +--- end of FTL.TXT --- + +
+ +
+GPL-1.0 + + +GNU General Public License, version 1 + + GNU GENERAL PUBLIC LICENSE + Version 1, February 1989 + + Copyright (C) 1989 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The license agreements of most software companies try to keep users +at the mercy of those companies. By contrast, our General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. The +General Public License applies to the Free Software Foundation`s +software and to any other program whose authors commit to using it. +You can use it for your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Specifically, the General Public License is designed to make +sure that you have the freedom to give away or sell copies of free +software, that you receive source code or can get it if you want it, +that you can change the software or use pieces of it in new free +programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of a such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must tell them their rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author`s protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors` reputations. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work based +on the Program" means either the Program or any work containing the +Program or a portion of it, either verbatim or with modifications. Each +licensee is addressed as "you". + + 1. You may copy and distribute verbatim copies of the Program`s source +code as you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this +General Public License and to the absence of any warranty; and give any +other recipients of the Program a copy of this General Public License +along with the Program. You may charge a fee for the physical act of +transferring a copy. + + 2. You may modify your copy or copies of the Program or any portion of +it, and copy and distribute such modifications under the terms of Paragraph +1 above, provided that you also do the following: + + a) cause the modified files to carry prominent notices stating that + you changed the files and the date of any change; and + + b) cause the whole of any work that you distribute or publish, that + in whole or in part contains the Program or any part thereof, either + with or without modifications, to be licensed at no charge to all + third parties under the terms of this General Public License (except + that you may choose to grant warranty protection to some or all + third parties, at your option). + + c) If the modified program normally reads commands interactively when + run, you must cause it, when started running for such interactive use + in the simplest and most usual way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this General + Public License. + + d) You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + +Mere aggregation of another independent work with the Program (or its +derivative) on a volume of a storage or distribution medium does not bring +the other work under the scope of these terms. + + 3. You may copy and distribute the Program (or a portion or derivative of +it, under Paragraph 2) in object code or executable form under the terms of +Paragraphs 1 and 2 above provided that you also do one of the following: + + a) accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Paragraphs 1 and 2 above; or, + + b) accompany it with a written offer, valid for at least three + years, to give any third party free (except for a nominal charge + for the cost of distribution) a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of + Paragraphs 1 and 2 above; or, + + c) accompany it with the information you received as to where the + corresponding source code may be obtained. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form alone.) + +Source code for a work means the preferred form of the work for making +modifications to it. For an executable file, complete source code means +all the source code for all modules it contains; but, as a special +exception, it need not include source code for modules which are standard +libraries that accompany the operating system on which the executable +file runs, or for standard header files or definitions files that +accompany that operating system. + + 4. You may not copy, modify, sublicense, distribute or transfer the +Program except as expressly provided under this General Public License. +Any attempt otherwise to copy, modify, sublicense, distribute or transfer +the Program is void, and will automatically terminate your rights to use +the Program under this License. However, parties who have received +copies, or rights to use copies, from you under this General Public +License will not have their licenses terminated so long as such parties +remain in full compliance. + + 5. By copying, distributing or modifying the Program (or any work based +on the Program) you indicate your acceptance of this license to do so, +and all its terms and conditions. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the original +licensor to copy, distribute or modify the Program subject to these +terms and conditions. You may not impose any further restrictions on the +recipients` exercise of the rights granted herein. + + 7. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of the license which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +the license, you may choose any version ever published by the Free Software +Foundation. + + 8. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to humanity, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively convey +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the program`s name and a brief idea of what it does.> + Copyright (C) 19yy <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19xx name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w`. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c` for details. + +The hypothetical commands `show w` and `show c` should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w` and `show +c`; they could even be mouse-clicks or menu items--whatever suits your +program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision` (a program to direct compilers to make passes + at assemblers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +That`s all there is to it! + +
+ +
+GPL-2.0 + + +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +Preamble + +The licenses for most software are designed to take away your freedom to share and +change it. By contrast, the GNU General Public License is intended to guarantee your +freedom to share and change free software--to make sure the software is free for all +its users. This General Public License applies to most of the Free Software +Foundation`s software and to any other program whose authors commit to using it. (Some +other Free Software Foundation software is covered by the GNU Lesser General Public +License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General +Public Licenses are designed to make sure that you have the freedom to distribute +copies of free software (and charge for this service if you wish), that you receive +source code or can get it if you want it, that you can change the software or use +pieces of it in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny you +these rights or to ask you to surrender the rights. These restrictions translate to +certain responsibilities for you if you distribute copies of the software, or if you +modify it. + +For example, if you distribute copies of such a program, whether gratis or for a fee, +you must give the recipients all the rights that you have. You must make sure that +they, too, receive or can get the source code. And you must show them these terms so +they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer you +this license which gives you legal permission to copy, distribute and/or modify the +software. + +Also, for each author`s protection and ours, we want to make certain that everyone +understands that there is no warranty for this free software. If the software is +modified by someone else and passed on, we want its recipients to know that what they +have is not the original, so that any problems introduced by others will not reflect +on the original authors` reputations. + +Finally, any free program is threatened constantly by software patents. We wish to +avoid the danger that redistributors of a free program will individually obtain patent +licenses, in effect making the program proprietary. To prevent this, we have made it +clear that any patent must be licensed for everyone`s free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice placed by +the copyright holder saying it may be distributed under the terms of this General +Public License. The "Program", below, refers to any such program or work, and a "work +based on the Program" means either the Program or any derivative work under copyright +law: that is to say, a work containing the Program or a portion of it, either verbatim +or with modifications and/or translated into another language. (Hereinafter, +translation is included without limitation in the term "modification".) Each licensee +is addressed as "you". + +Activities other than copying, distribution and modification are not covered by this +License; they are outside its scope. The act of running the Program is not restricted, +and the output from the Program is covered only if its contents constitute a work +based on the Program (independent of having been made by running the Program). Whether +that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program`s source code as you +receive it, in any medium, provided that you conspicuously and appropriately publish +on each copy an appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any warranty; and +give any other recipients of the Program a copy of this License along with the +Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your +option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications or +work under the terms of Section 1 above, provided that you also meet all of these +conditions: + +a) You must cause the modified files to carry prominent notices stating that you +changed the files and the date of any change. +b) You must cause any work that you distribute or publish, that in whole or in part +contains or is derived from the Program or any part thereof, to be licensed as a whole +at no charge to all third parties under the terms of this License. +c) If the modified program normally reads commands interactively when run, you must +cause it, when started running for such interactive use in the most ordinary way, to +print or display an announcement including an appropriate copyright notice and a +notice that there is no warranty (or else, saying that you provide a warranty) and +that users may redistribute the program under these conditions, and telling the user +how to view a copy of this License. (Exception: if the Program itself is interactive +but does not normally print such an announcement, your work based on the Program is +not required to print an announcement.) +These requirements apply to the modified work as a whole. If identifiable sections of +that work are not derived from the Program, and can be reasonably considered +independent and separate works in themselves, then this License, and its terms, do not +apply to those sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based on the Program, +the distribution of the whole must be on the terms of this License, whose permissions +for other licensees extend to the entire whole, and thus to each and every part +regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to +work written entirely by you; rather, the intent is to exercise the right to control +the distribution of derivative or collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or distribution +medium does not bring the other work under the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, under Section 2) in +object code or executable form under the terms of Sections 1 and 2 above provided that +you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a medium customarily +used for software interchange; or, +b) Accompany it with a written offer, valid for at least three years, to give any +third party, for a charge no more than your cost of physically performing source +distribution, a complete machine-readable copy of the corresponding source code, to be +distributed under the terms of Sections 1 and 2 above on a medium customarily used for +software interchange; or, +c) Accompany it with the information you received as to the offer to distribute +corresponding source code. (This alternative is allowed only for noncommercial +distribution and only if you received the program in object code or executable form +with such an offer, in accord with Subsection b above.) +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all the source +code for all modules it contains, plus any associated interface definition files, plus +the scripts used to control compilation and installation of the executable. However, +as a special exception, the source code distributed need not include anything that is +normally distributed (in either source or binary form) with the major components +(compiler, kernel, and so on) of the operating system on which the executable runs, +unless that component itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy from a +designated place, then offering equivalent access to copy the source code from the +same place counts as distribution of the source code, even though third parties are +not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as expressly +provided under this License. Any attempt otherwise to copy, modify, sublicense or +distribute the Program is void, and will automatically terminate your rights under +this License. However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such parties remain in +full compliance. + +5. You are not required to accept this License, since you have not signed it. However, +nothing else grants you permission to modify or distribute the Program or its +derivative works. These actions are prohibited by law if you do not accept this +License. Therefore, by modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and all its terms and +conditions for copying, distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), the +recipient automatically receives a license from the original licensor to copy, +distribute or modify the Program subject to these terms and conditions. You may not +impose any further restrictions on the recipients` exercise of the rights granted +herein. You are not responsible for enforcing compliance by third parties to this +License. + +7. If, as a consequence of a court judgment or allegation of patent infringement or +for any other reason (not limited to patent issues), conditions are imposed on you +(whether by court order, agreement or otherwise) that contradict the conditions of +this License, they do not excuse you from the conditions of this License. If you +cannot distribute so as to satisfy simultaneously your obligations under this License +and any other pertinent obligations, then as a consequence you may not distribute the +Program at all. For example, if a patent license would not permit royalty-free +redistribution of the Program by all those who receive copies directly or indirectly +through you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any particular +circumstance, the balance of the section is intended to apply and the section as a +whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other +property right claims or to contest validity of any such claims; this section has the +sole purpose of protecting the integrity of the free software distribution system, +which is implemented by public license practices. Many people have made generous +contributions to the wide range of software distributed through that system in +reliance on consistent application of that system; it is up to the author/donor to +decide if he or she is willing to distribute software through any other system and a +licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence +of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain countries +either by patents or by copyrighted interfaces, the original copyright holder who +places the Program under this License may add an explicit geographical distribution +limitation excluding those countries, so that distribution is permitted only in or +among countries not thus excluded. In such case, this License incorporates the +limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the General +Public License from time to time. Such new versions will be similar in spirit to the +present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies a +version number of this License which applies to it and "any later version", you have +the option of following the terms and conditions either of that version or of any +later version published by the Free Software Foundation. If the Program does not +specify a version number of this License, you may choose any version ever published by +the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs whose +distribution conditions are different, write to the author to ask for permission. For +software which is copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our decision will be +guided by the two goals of preserving the free status of all derivatives of our free +software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE +PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN +WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE +RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM +PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY +COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS +PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE +OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE +WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to +the public, the best way to achieve this is to make it free software which everyone +can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to +the start of each source file to most effectively convey the exclusion of warranty; +and each file should have at least the "copyright" line and a pointer to where the +full notice is found. + +one line to give the program`s name and an idea of what it does. +Copyright (C) yyyy name of author + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +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 General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it starts +in an interactive mode: + +Gnomovision version 69, Copyright (C) year name of author +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details +type `show w`. This is free software, and you are welcome +to redistribute it under certain conditions; type `show c` +for details. +The hypothetical commands `show w` and `show c` should show the appropriate parts of +the General Public License. Of course, the commands you use may be called something +other than `show w` and `show c`; they could even be mouse-clicks or menu +items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, if +any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; +alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright +interest in the program `Gnomovision` +(which makes passes at compilers) written +by James Hacker. + +signature of Ty Coon, 1 April 1989 +Ty Coon, President of Vice +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may consider it +more useful to permit linking proprietary applications with the library. If this is +what you want to do, use the GNU Lesser General Public License instead of this +License. + +
+ +
+GPL-3.0 + +GNU GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/> + +Everyone is permitted to copy and distribute verbatim copies of this license document, +but changing it is not allowed. +Preamble + +The GNU General Public License is a free, copyleft license for software and other +kinds of works. + +The licenses for most software and other practical works are designed to take away +your freedom to share and change the works. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change all versions of a +program--to make sure it remains free software for all its users. We, the Free +Software Foundation, use the GNU General Public License for most of our software; it +applies also to any other work released this way by its authors. You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General +Public Licenses are designed to make sure that you have the freedom to distribute +copies of free software (and charge for them if you wish), that you receive source +code or can get it if you want it, that you can change the software or use pieces of +it in new free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you these rights or +asking you to surrender the rights. Therefore, you have certain responsibilities if +you distribute copies of the software, or if you modify it: responsibilities to +respect the freedom of others. + +For example, if you distribute copies of such a program, whether gratis or for a fee, +you must pass on to the recipients the same freedoms that you received. You must make +sure that they, too, receive or can get the source code. And you must show them these +terms so they know their rights. + +Developers that use the GNU GPL protect your rights with two steps: (1) assert +copyright on the software, and (2) offer you this License giving you legal permission +to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains that there is no +warranty for this free software. For both users' and authors' sake, the GPL requires +that modified versions be marked as changed, so that their problems will not be +attributed erroneously to authors of previous versions. + +Some devices are designed to deny users access to install or run modified versions of +the software inside them, although the manufacturer can do so. This is fundamentally +incompatible with the aim of protecting users' freedom to change the software. The +systematic pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we have designed +this version of the GPL to prohibit the practice for those products. If such problems +arise substantially in other domains, we stand ready to extend this provision to those +domains in future versions of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. States should not +allow patents to restrict development and use of software on general-purpose +computers, but in those that do, we wish to avoid the special danger that patents +applied to a free program could make it effectively proprietary. To prevent this, the +GPL assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and modification follow. +TERMS AND CONDITIONS +0. Definitions. + +”This License” refers to version 3 of the GNU General Public License. + +”Copyright” also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +”The Program” refers to any copyrightable work licensed under this +License. Each licensee is addressed as ”you”. ”Licensees” +and ”recipients” may be individuals or organizations. + +To ”modify” a work means to copy from or adapt all or part of the work in +a fashion requiring copyright permission, other than the making of an exact copy. The +resulting work is called a ”modified version” of the earlier work or a +work ”based on” the earlier work. + +A ”covered work” means either the unmodified Program or a work based on +the Program. + +To ”propagate” a work means to do anything with it that, without +permission, would make you directly or secondarily liable for infringement under +applicable copyright law, except executing it on a computer or modifying a private +copy. Propagation includes copying, distribution (with or without modification), +making available to the public, and in some countries other activities as well. + +To ”convey” a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through a computer +network, with no transfer of a copy, is not conveying. + +An interactive user interface displays ”Appropriate Legal Notices” to the +extent that it includes a convenient and prominently visible feature that (1) displays +an appropriate copyright notice, and (2) tells the user that there is no warranty for +the work (except to the extent that warranties are provided), that licensees may +convey the work under this License, and how to view a copy of this License. If the +interface presents a list of user commands or options, such as a menu, a prominent +item in the list meets this criterion. +1. Source Code. + +The ”source code” for a work means the preferred form of the work for +making modifications to it. ”Object code” means any non-source form of a +work. + +A ”Standard Interface” means an interface that either is an official +standard defined by a recognized standards body, or, in the case of interfaces +specified for a particular programming language, one that is widely used among +developers working in that language. + +The ”System Libraries” of an executable work include anything, other than +the work as a whole, that (a) is included in the normal form of packaging a Major +Component, but which is not part of that Major Component, and (b) serves only to +enable use of the work with that Major Component, or to implement a Standard Interface +for which an implementation is available to the public in source code form. A +”Major Component”, in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system (if any) on which +the executable work runs, or a compiler used to produce the work, or an object code +interpreter used to run it. + +The ”Corresponding Source” for a work in object code form means all the +source code needed to generate, install, and (for an executable work) run the object +code and to modify the work, including scripts to control those activities. However, +it does not include the work's System Libraries, or general-purpose tools or generally +available free programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source includes interface +definition files associated with source files for the work, and the source code for +shared libraries and dynamically linked subprograms that the work is specifically +designed to require, such as by intimate data communication or control flow between +those subprograms and other parts of the work. + +The Corresponding Source need not include anything that users can regenerate +automatically from other parts of the Corresponding Source. + +The Corresponding Source for a work in source code form is that same work. +2. Basic Permissions. + +All rights granted under this License are granted for the term of copyright on the +Program, and are irrevocable provided the stated conditions are met. This License +explicitly affirms your unlimited permission to run the unmodified Program. The output +from running a covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your rights of fair use +or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not convey, without +conditions so long as your license otherwise remains in force. You may convey covered +works to others for the sole purpose of having them make modifications exclusively for +you, or provide you with facilities for running those works, provided that you comply +with the terms of this License in conveying all material for which you do not control +copyright. Those thus making or running the covered works for you must do so +exclusively on your behalf, under your direction and control, on terms that prohibit +them from making any copies of your copyrighted material outside their relationship +with you. + +Conveying under any other circumstances is permitted solely under the conditions +stated below. Sublicensing is not allowed; section 10 makes it unnecessary. +3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological measure under any +applicable law fulfilling obligations under article 11 of the WIPO copyright treaty +adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention +of such measures. + +When you convey a covered work, you waive any legal power to forbid circumvention of +technological measures to the extent such circumvention is effected by exercising +rights under this License with respect to the covered work, and you disclaim any +intention to limit operation or modification of the work as a means of enforcing, +against the work's users, your or third parties' legal rights to forbid circumvention +of technological measures. +4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you receive it, in any +medium, provided that you conspicuously and appropriately publish on each copy an +appropriate copyright notice; keep intact all notices stating that this License and +any non-permissive terms added in accord with section 7 apply to the code; keep intact +all notices of the absence of any warranty; and give all recipients a copy of this +License along with the Program. + +You may charge any price or no price for each copy that you convey, and you may offer +support or warranty protection for a fee. +5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to produce it from +the Program, in the form of source code under the terms of section 4, provided that +you also meet all of these conditions: + + * a) The work must carry prominent notices stating that you modified it, and +giving a relevant date. + * b) The work must carry prominent notices stating that it is released under this +License and any conditions added under section 7. This requirement modifies the +requirement in section 4 to ”keep intact all notices”. + * c) You must license the entire work, as a whole, under this License to anyone +who comes into possession of a copy. This License will therefore apply, along with any +applicable section 7 additional terms, to the whole of the work, and all its parts, +regardless of how they are packaged. This License gives no permission to license the +work in any other way, but it does not invalidate such permission if you have +separately received it. + * d) If the work has interactive user interfaces, each must display Appropriate +Legal Notices; however, if the Program has interactive interfaces that do not display +Appropriate Legal Notices, your work need not make them do so. + +A compilation of a covered work with other separate and independent works, which are +not by their nature extensions of the covered work, and which are not combined with it +such as to form a larger program, in or on a volume of a storage or distribution +medium, is called an ”aggregate” if the compilation and its resulting +copyright are not used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work in an aggregate +does not cause this License to apply to the other parts of the aggregate. +6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of sections 4 and 5, +provided that you also convey the machine-readable Corresponding Source under the +terms of this License, in one of these ways: + + * a) Convey the object code in, or embodied in, a physical product (including a +physical distribution medium), accompanied by the Corresponding Source fixed on a +durable physical medium customarily used for software interchange. + * b) Convey the object code in, or embodied in, a physical product (including a +physical distribution medium), accompanied by a written offer, valid for at least +three years and valid for as long as you offer spare parts or customer support for +that product model, to give anyone who possesses the object code either (1) a copy of +the Corresponding Source for all the software in the product that is covered by this +License, on a durable physical medium customarily used for software interchange, for a +price no more than your reasonable cost of physically performing this conveying of +source, or (2) access to copy the Corresponding Source from a network server at no +charge. + * c) Convey individual copies of the object code with a copy of the written offer +to provide the Corresponding Source. This alternative is allowed only occasionally and +noncommercially, and only if you received the object code with such an offer, in +accord with subsection 6b. + * d) Convey the object code by offering access from a designated place (gratis or +for a charge), and offer equivalent access to the Corresponding Source in the same way +through the same place at no further charge. You need not require recipients to copy +the Corresponding Source along with the object code. If the place to copy the object +code is a network server, the Corresponding Source may be on a different server +(operated by you or a third party) that supports equivalent copying facilities, +provided you maintain clear directions next to the object code saying where to find +the Corresponding Source. Regardless of what server hosts the Corresponding Source, +you remain obligated to ensure that it is available for as long as needed to satisfy +these requirements. + * e) Convey the object code using peer-to-peer transmission, provided you inform +other peers where the object code and Corresponding Source of the work are being +offered to the general public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded from the +Corresponding Source as a System Library, need not be included in conveying the object +code work. + +A ”User Product” is either (1) a ”consumer product”, which +means any tangible personal property which is normally used for personal, family, or +household purposes, or (2) anything designed or sold for incorporation into a +dwelling. In determining whether a product is a consumer product, doubtful cases shall +be resolved in favor of coverage. For a particular product received by a particular +user, ”normally used” refers to a typical or common use of that class of +product, regardless of the status of the particular user or of the way in which the +particular user actually uses, or expects or is expected to use, the product. A +product is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent the only +significant mode of use of the product. + +”Installation Information” for a User Product means any methods, +procedures, authorization keys, or other information required to install and execute +modified versions of a covered work in that User Product from a modified version of +its Corresponding Source. The information must suffice to ensure that the continued +functioning of the modified object code is in no case prevented or interfered with +solely because modification has been made. + +If you convey an object code work under this section in, or with, or specifically for +use in, a User Product, and the conveying occurs as part of a transaction in which the +right of possession and use of the User Product is transferred to the recipient in +perpetuity or for a fixed term (regardless of how the transaction is characterized), +the Corresponding Source conveyed under this section must be accompanied by the +Installation Information. But this requirement does not apply if neither you nor any +third party retains the ability to install modified object code on the User Product +(for example, the work has been installed in ROM). + +The requirement to provide Installation Information does not include a requirement to +continue to provide support service, warranty, or updates for a work that has been +modified or installed by the recipient, or for the User Product in which it has been +modified or installed. Access to a network may be denied when the modification itself +materially and adversely affects the operation of the network or violates the rules +and protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, in accord with +this section must be in a format that is publicly documented (and with an +implementation available to the public in source code form), and must require no +special password or key for unpacking, reading or copying. +7. Additional Terms. + +”Additional permissions” are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. Additional +permissions that are applicable to the entire Program shall be treated as though they +were included in this License, to the extent that they are valid under applicable law. +If additional permissions apply only to part of the Program, that part may be used +separately under those permissions, but the entire Program remains governed by this +License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option remove any additional +permissions from that copy, or from any part of it. (Additional permissions may be +written to require their own removal in certain cases when you modify the work.) You +may place additional permissions on material, added by you to a covered work, for +which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you add to a covered +work, you may (if authorized by the copyright holders of that material) supplement the +terms of this License with terms: + + * a) Disclaiming warranty or limiting liability differently from the terms of +sections 15 and 16 of this License; or + * b) Requiring preservation of specified reasonable legal notices or author +attributions in that material or in the Appropriate Legal Notices displayed by works +containing it; or + * c) Prohibiting misrepresentation of the origin of that material, or requiring +that modified versions of such material be marked in reasonable ways as different from +the original version; or + * d) Limiting the use for publicity purposes of names of licensors or authors of +the material; or + * e) Declining to grant rights under trademark law for use of some trade names, +trademarks, or service marks; or + * f) Requiring indemnification of licensors and authors of that material by anyone +who conveys the material (or modified versions of it) with contractual assumptions of +liability to the recipient, for any liability that these contractual assumptions +directly impose on those licensors and authors. + +All other non-permissive additional terms are considered ”further +restrictions” within the meaning of section 10. If the Program as you received +it, or any part of it, contains a notice stating that it is governed by this License +along with a term that is a further restriction, you may remove that term. If a +license document contains a further restriction but permits relicensing or conveying +under this License, you may add to a covered work material governed by the terms of +that license document, provided that the further restriction does not survive such +relicensing or conveying. + +If you add terms to a covered work in accord with this section, you must place, in the +relevant source files, a statement of the additional terms that apply to those files, +or a notice indicating where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the form of a +separately written license, or stated as exceptions; the above requirements apply +either way. +8. Termination. + +You may not propagate or modify a covered work except as expressly provided under this +License. Any attempt otherwise to propagate or modify it is void, and will +automatically terminate your rights under this License (including any patent licenses +granted under the third paragraph of section 11). + +However, if you cease all violation of this License, then your license from a +particular copyright holder is reinstated (a) provisionally, unless and until the +copyright holder explicitly and finally terminates your license, and (b) permanently, +if the copyright holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is reinstated permanently if +the copyright holder notifies you of the violation by some reasonable means, this is +the first time you have received notice of violation of this License (for any work) +from that copyright holder, and you cure the violation prior to 30 days after your +receipt of the notice. + +Termination of your rights under this section does not terminate the licenses of +parties who have received copies or rights from you under this License. If your rights +have been terminated and not permanently reinstated, you do not qualify to receive new +licenses for the same material under section 10. +9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run a copy of the +Program. Ancillary propagation of a covered work occurring solely as a consequence of +using peer-to-peer transmission to receive a copy likewise does not require +acceptance. However, nothing other than this License grants you permission to +propagate or modify any covered work. These actions infringe copyright if you do not +accept this License. Therefore, by modifying or propagating a covered work, you +indicate your acceptance of this License to do so. +10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically receives a license +from the original licensors, to run, modify and propagate that work, subject to this +License. You are not responsible for enforcing compliance by third parties with this +License. + +An ”entity transaction” is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an organization, or +merging organizations. If propagation of a covered work results from an entity +transaction, each party to that transaction who receives a copy of the work also +receives whatever licenses to the work the party's predecessor in interest had or +could give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if the predecessor +has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the rights granted or +affirmed under this License. For example, you may not impose a license fee, royalty, +or other charge for exercise of rights granted under this License, and you may not +initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging +that any patent claim is infringed by making, using, selling, offering for sale, or +importing the Program or any portion of it. +11. Patents. + +A ”contributor” is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The work thus licensed +is called the contributor's ”contributor version”. + +A contributor's ”essential patent claims” are all patent claims owned or +controlled by the contributor, whether already acquired or hereafter acquired, that +would be infringed by some manner, permitted by this License, of making, using, or +selling its contributor version, but do not include claims that would be infringed +only as a consequence of further modification of the contributor version. For purposes +of this definition, ”control” includes the right to grant patent +sublicenses in a manner consistent with the requirements of this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license +under the contributor's essential patent claims, to make, use, sell, offer for sale, +import and otherwise run, modify and propagate the contents of its contributor +version. + +In the following three paragraphs, a ”patent license” is any express +agreement or commitment, however denominated, not to enforce a patent (such as an +express permission to practice a patent or covenant not to sue for patent +infringement). To ”grant” such a patent license to a party means to make +such an agreement or commitment not to enforce a patent against the party. + +If you convey a covered work, knowingly relying on a patent license, and the +Corresponding Source of the work is not available for anyone to copy, free of charge +and under the terms of this License, through a publicly available network server or +other readily accessible means, then you must either (1) cause the Corresponding +Source to be so available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner consistent with +the requirements of this License, to extend the patent license to downstream +recipients. ”Knowingly relying” means you have actual knowledge that, but +for the patent license, your conveying the covered work in a country, or your +recipient's use of the covered work in a country, would infringe one or more +identifiable patents in that country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or arrangement, you convey, +or propagate by procuring conveyance of, a covered work, and grant a patent license to +some of the parties receiving the covered work authorizing them to use, propagate, +modify or convey a specific copy of the covered work, then the patent license you +grant is automatically extended to all recipients of the covered work and works based +on it. + +A patent license is ”discriminatory” if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on the +non-exercise of one or more of the rights that are specifically granted under this +License. You may not convey a covered work if you are a party to an arrangement with a +third party that is in the business of distributing software, under which you make +payment to the third party based on the extent of your activity of conveying the work, +and under which the third party grants, to any of the parties who would receive the +covered work from you, a discriminatory patent license (a) in connection with copies +of the covered work conveyed by you (or copies made from those copies), or (b) +primarily for and in connection with specific products or compilations that contain +the covered work, unless you entered into that arrangement, or that patent license was +granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting any implied +license or other defenses to infringement that may otherwise be available to you under +applicable patent law. +12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the conditions +of this License. If you cannot convey a covered work so as to satisfy simultaneously +your obligations under this License and any other pertinent obligations, then as a +consequence you may not convey it at all. For example, if you agree to terms that +obligate you to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this License would be +to refrain entirely from conveying the Program. +13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have permission to link or +combine any covered work with a work licensed under version 3 of the GNU Affero +General Public License into a single combined work, and to convey the resulting work. +The terms of this License will continue to apply to the part which is the covered +work, but the special requirements of the GNU Affero General Public License, section +13, concerning interaction through a network will apply to the combination as such. +14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of the GNU +General Public License from time to time. Such new versions will be similar in spirit +to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies that a +certain numbered version of the GNU General Public License ”or any later +version” applies to it, you have the option of following the terms and +conditions either of that numbered version or of any later version published by the +Free Software Foundation. If the Program does not specify a version number of the GNU +General Public License, you may choose any version ever published by the Free Software +Foundation. + +If the Program specifies that a proxy can decide which future versions of the GNU +General Public License can be used, that proxy's public statement of acceptance of a +version permanently authorizes you to choose that version for the Program. + +Later license versions may give you additional or different permissions. However, no +additional obligations are imposed on any author or copyright holder as a result of +your choosing to follow a later version. +15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM ”AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER +EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE +QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY +COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS +PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE +OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE +WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. +17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided above cannot be +given local legal effect according to their terms, reviewing courts shall apply local +law that most closely approximates an absolute waiver of all civil liability in +connection with the Program, unless a warranty or assumption of liability accompanies +a copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to +the public, the best way to achieve this is to make it free software which everyone +can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach them to +the start of each source file to most effectively state the exclusion of warranty; and +each file should have at least the ”copyright” line and a pointer to +where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short notice like this when +it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate parts of +the General Public License. Of course, your program's commands might be different; for +a GUI interface, you would use an ”about box”. + +You should also get your employer (if you work as a programmer) or school, if any, to +sign a ”copyright disclaimer” for the program, if necessary. For more +information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + +The GNU General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may consider it +more useful to permit linking proprietary applications with the library. If this is +what you want to do, use the GNU Lesser General Public License instead of this +License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. +
+ +
+GPL-3.0-with-GCC-exception + + +insert GPL v3 text here + +GCC RUNTIME LIBRARY EXCEPTION +Version 3.1, 31 March 2009 + +General information: +http://www.gnu.org/licenses/gcc-exception.html +Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/> +Everyone is permitted to copy and distribute verbatim copies of this license document, +but changing it is not allowed. +This GCC Runtime Library Exception ("Exception") is an additional permission under +section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a +given file (the "Runtime Library") that bears a notice placed by the copyright holder +of the file stating that the file is governed by GPLv3 along with this Exception. +When you use GCC to compile a program, GCC may combine portions of certain GCC header +files and runtime libraries with the compiled program. The purpose of this Exception +is to allow compilation of non-GPL (including proprietary) programs to use, in this +way, the header files and runtime libraries covered by this Exception. + +0. Definitions. +A file is an "Independent Module" if it either requires the Runtime Library for +execution after a Compilation Process, or makes use of an interface provided by the +Runtime Library, but is not otherwise based on the Runtime Library. +"GCC" means a version of the GNU Compiler Collection, with or without modifications, +governed by version 3 (or a specified later version) of the GNU General Public License +(GPL) with the option of using any subsequent versions published by the FSF. +"GPL-compatible Software" is software whose conditions of propagation, modification +and use would permit combination with GCC in accord with the license of GCC. +"Target Code" refers to output from any compiler for a real or virtual target +processor architecture, in executable form or suitable for input to an assembler, +loader, linker and/or execution phase. Notwithstanding that, Target Code does not +include data in any format that is used as a compiler intermediate representation, or +used for producing a compiler intermediate representation. +The "Compilation Process" transforms code entirely represented in non-intermediate +languages designed for human-written code, and/or in Java Virtual Machine byte code, +into Target Code. Thus, for example, use of source code generators and preprocessors +need not be considered part of the Compilation Process, since the Compilation Process +can be understood as starting with the output of the generators or preprocessors. +A Compilation Process is "Eligible" if it is done using GCC, alone or with other +GPL-compatible software, or if it is done without using any work based on GCC. For +example, using non-GPL-compatible Software to optimize any GCC intermediate +representations would not qualify as an Eligible Compilation Process. + +1. Grant of Additional Permission. +You have permission to propagate a work of Target Code formed by combining the Runtime +Library with Independent Modules, even if such propagation would otherwise violate the +terms of GPLv3, provided that all Target Code was generated by Eligible Compilation +Processes. You may then convey such a combination under terms of your choice, +consistent with the licensing of the Independent Modules. + +2. No Weakening of GCC Copyleft. +The availability of this Exception does not imply any general presumption that +third-party software is unaffected by the copyleft requirements of the license of GCC. + +
+ +
+ICU + +COPYRIGHT AND PERMISSION NOTICE + +Copyright (c) 1995-2012 International Business Machines Corporation and others + +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this +software and associated documentation files (the "Software"), to deal in the Software +without restriction, including without limitation the rights to use, copy, modify, +merge, publish, distribute, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above copyright +notice(s) and this permission notice appear in all copies of the Software and that +both the above copyright notice(s) and this permission notice appear in supporting +documentation. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY +SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +Except as contained in this notice, the name of a copyright holder shall not be used +in advertising or otherwise to promote the sale, use or other dealings in this +Software without prior written authorization of the copyright holder. + +All trademarks and registered trademarks mentioned herein are the property of their +respective owners. +
+ +
+ISC + + +ISC License: + +Copyright © 2004-2010 by Internet Systems Consortium, Inc. ("ISC") +Copyright © 1995-2003 by Internet Software Consortium + +Permission to use, copy, modify, and/or distribute this software for any purpose with +or without fee is hereby granted, provided that the above copyright notice and this +permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT +SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY +DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. + +
+ +
+LGPL-2.0 + +GNU LIBRARY GENERAL PUBLIC LICENSE + + + +Version 2, June 1991 + + + +Copyright (C) 1991 Free Software Foundation, Inc. + +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies + +of this license document, but changing it is not allowed. + + + +[This is the first released version of the library GPL. It is + + numbered 2 because it goes with version 2 of the ordinary GPL.] + +Preamble + + + +The licenses for most software are designed to take away your freedom to share and +change it. By contrast, the GNU General Public Licenses are intended to guarantee your +freedom to share and change free software--to make sure the software is free for all +its users. + + + +This license, the Library General Public License, applies to some specially designated +Free Software Foundation software, and to any other libraries whose authors decide to +use it. You can use it for your libraries, too. + + + +When we speak of free software, we are referring to freedom, not price. Our General +Public Licenses are designed to make sure that you have the freedom to distribute +copies of free software (and charge for this service if you wish), that you receive +source code or can get it if you want it, that you can change the software or use +pieces of it in new free programs; and that you know you can do these things. + + + +To protect your rights, we need to make restrictions that forbid anyone to deny you +these rights or to ask you to surrender the rights. These restrictions translate to +certain responsibilities for you if you distribute copies of the library, or if you +modify it. + + + +For example, if you distribute copies of the library, whether gratis or for a fee, you +must give the recipients all the rights that we gave you. You must make sure that +they, too, receive or can get the source code. If you link a program with the library, +you must provide complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling it. And you must +show them these terms so they know their rights. + + + +Our method of protecting your rights has two steps: (1) copyright the library, and (2) +offer you this license which gives you legal permission to copy, distribute and/or +modify the library. + + + +Also, for each distributor's protection, we want to make certain that everyone +understands that there is no warranty for this free library. If the library is +modified by someone else and passed on, we want its recipients to know that what they +have is not the original version, so that any problems introduced by others will not +reflect on the original authors' reputations. + + + +Finally, any free program is threatened constantly by software patents. We wish to +avoid the danger that companies distributing free software will individually obtain +patent licenses, thus in effect transforming the program into proprietary software. To +prevent this, we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + + +Most GNU software, including some libraries, is covered by the ordinary GNU General +Public License, which was designed for utility programs. This license, the GNU Library +General Public License, applies to certain designated libraries. This license is quite +different from the ordinary one; be sure to read it in full, and don't assume that +anything in it is the same as in the ordinary license. + + + +The reason we have a separate public license for some libraries is that they blur the +distinction we usually make between modifying or adding to a program and simply using +it. Linking a program with a library, without changing the library, is in some sense +simply using the library, and is analogous to running a utility program or application +program. However, in a textual and legal sense, the linked executable is a combined +work, a derivative of the original library, and the ordinary General Public License +treats it as such. + + + +Because of this blurred distinction, using the ordinary General Public License for +libraries did not effectively promote software sharing, because most developers did +not use the libraries. We concluded that weaker conditions might promote sharing +better. + + + +However, unrestricted linking of non-free programs would deprive the users of those +programs of all benefit from the free status of the libraries themselves. This Library +General Public License is intended to permit developers of non-free programs to use +free libraries, while preserving your freedom as a user of such programs to change the +free libraries that are incorporated in them. (We have not seen how to achieve this as +regards changes in header files, but we have achieved it as regards changes in the +actual functions of the Library.) The hope is that this will lead to faster +development of free libraries. + + + +The precise terms and conditions for copying, distribution and modification follow. +Pay close attention to the difference between a "work based on the library" and a +"work that uses the library". The former contains code derived from the library, while +the latter only works together with the library. + + + +Note that it is possible for a library to be covered by the ordinary General Public +License rather than by this special one. + + + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + + +0. This License Agreement applies to any software library which contains a notice +placed by the copyright holder or other authorized party saying it may be distributed +under the terms of this Library General Public License (also called "this License"). +Each licensee is addressed as "you". + + + +A "library" means a collection of software functions and/or data prepared so as to be +conveniently linked with application programs (which use some of those functions and +data) to form executables. + + + +The "Library", below, refers to any such software library or work which has been +distributed under these terms. A "work based on the Library" means either the Library +or any derivative work under copyright law: that is to say, a work containing the +Library or a portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is included without +limitation in the term "modification".) + + + +"Source code" for a work means the preferred form of the work for making modifications +to it. For a library, complete source code means all the source code for all modules +it contains, plus any associated interface definition files, plus the scripts used to +control compilation and installation of the library. + + + +Activities other than copying, distribution and modification are not covered by this +License; they are outside its scope. The act of running a program using the Library is +not restricted, and output from such a program is covered only if its contents +constitute a work based on the Library (independent of the use of the Library in a +tool for writing it). Whether that is true depends on what the Library does and what +the program that uses the Library does. + + + +1. You may copy and distribute verbatim copies of the Library's complete source code +as you receive it, in any medium, provided that you conspicuously and appropriately +publish on each copy an appropriate copyright notice and disclaimer of warranty; keep +intact all the notices that refer to this License and to the absence of any warranty; +and distribute a copy of this License along with the Library. + + + +You may charge a fee for the physical act of transferring a copy, and you may at your +option offer warranty protection in exchange for a fee. + + + +2. You may modify your copy or copies of the Library or any portion of it, thus +forming a work based on the Library, and copy and distribute such modifications or +work under the terms of Section 1 above, provided that you also meet all of these +conditions: + + + +a) The modified work must itself be a software library. + +b) You must cause the files modified to carry prominent notices stating that you +changed the files and the date of any change. + +c) You must cause the whole of the work to be licensed at no charge to all third +parties under the terms of this License. + +d) If a facility in the modified Library refers to a function or a table of data to be +supplied by an application program that uses the facility, other than as an argument +passed when the facility is invoked, then you must make a good faith effort to ensure +that, in the event an application does not supply such function or table, the facility +still operates, and performs whatever part of its purpose remains meaningful. + +(For example, a function in a library to compute square roots has a purpose that is +entirely well-defined independent of the application. Therefore, Subsection 2d +requires that any application-supplied function or table used by this function must be +optional: if the application does not supply it, the square root function must still +compute square roots.) + + + +These requirements apply to the modified work as a whole. If identifiable sections of +that work are not derived from the Library, and can be reasonably considered +independent and separate works in themselves, then this License, and its terms, do not +apply to those sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based on the Library, +the distribution of the whole must be on the terms of this License, whose permissions +for other licensees extend to the entire whole, and thus to each and every part +regardless of who wrote it. + + + +Thus, it is not the intent of this section to claim rights or contest your rights to +work written entirely by you; rather, the intent is to exercise the right to control +the distribution of derivative or collective works based on the Library. + + + +In addition, mere aggregation of another work not based on the Library with the +Library (or with a work based on the Library) on a volume of a storage or distribution +medium does not bring the other work under the scope of this License. + + + +3. You may opt to apply the terms of the ordinary GNU General Public License instead +of this License to a given copy of the Library. To do this, you must alter all the +notices that refer to this License, so that they refer to the ordinary GNU General +Public License, version 2, instead of to this License. (If a newer version than +version 2 of the ordinary GNU General Public License has appeared, then you can +specify that version instead if you wish.) Do not make any other change in these +notices. + + + +Once this change is made in a given copy, it is irreversible for that copy, so the +ordinary GNU General Public License applies to all subsequent copies and derivative +works made from that copy. + + + +This option is useful when you wish to copy part of the code of the Library into a +program that is not a library. + + + +4. You may copy and distribute the Library (or a portion or derivative of it, under +Section 2) in object code or executable form under the terms of Sections 1 and 2 above +provided that you accompany it with the complete corresponding machine-readable source +code, which must be distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange. + + + +If distribution of object code is made by offering access to copy from a designated +place, then offering equivalent access to copy the source code from the same place +satisfies the requirement to distribute the source code, even though third parties are +not compelled to copy the source along with the object code. + + + +5. A program that contains no derivative of any portion of the Library, but is +designed to work with the Library by being compiled or linked with it, is called a +"work that uses the Library". Such a work, in isolation, is not a derivative work of +the Library, and therefore falls outside the scope of this License. + + + +However, linking a "work that uses the Library" with the Library creates an executable +that is a derivative of the Library (because it contains portions of the Library), +rather than a "work that uses the library". The executable is therefore covered by +this License. Section 6 states terms for distribution of such executables. + + + +When a "work that uses the Library" uses material from a header file that is part of +the Library, the object code for the work may be a derivative work of the Library even +though the source code is not. Whether this is true is especially significant if the +work can be linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + + +If such an object file uses only numerical parameters, data structure layouts and +accessors, and small macros and small inline functions (ten lines or less in length), +then the use of the object file is unrestricted, regardless of whether it is legally a +derivative work. (Executables containing this object code plus portions of the Library +will still fall under Section 6.) + + + +Otherwise, if the work is a derivative of the Library, you may distribute the object +code for the work under the terms of Section 6. Any executables containing that work +also fall under Section 6, whether or not they are linked directly with the Library +itself. + + + +6. As an exception to the Sections above, you may also compile or link a "work that +uses the Library" with the Library to produce a work containing portions of the +Library, and distribute that work under terms of your choice, provided that the terms +permit modification of the work for the customer's own use and reverse engineering for +debugging such modifications. + + + +You must give prominent notice with each copy of the work that the Library is used in +it and that the Library and its use are covered by this License. You must supply a +copy of this License. If the work during execution displays copyright notices, you +must include the copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one of these things: + + + +a) Accompany the work with the complete corresponding machine-readable source code for +the Library including whatever changes were used in the work (which must be +distributed under Sections 1 and 2 above); and, if the work is an executable linked +with the Library, with the complete machine-readable "work that uses the Library", as +object code and/or source code, so that the user can modify the Library and then +relink to produce a modified executable containing the modified Library. (It is +understood that the user who changes the contents of definitions files in the Library +will not necessarily be able to recompile the application to use the modified +definitions.) + +b) Accompany the work with a written offer, valid for at least three years, to give +the same user the materials specified in Subsection 6a, above, for a charge no more +than the cost of performing this distribution. + +c) If distribution of the work is made by offering access to copy from a designated +place, offer equivalent access to copy the above specified materials from the same +place. + +d) Verify that the user has already received a copy of these materials or that you +have already sent this user a copy. + +For an executable, the required form of the "work that uses the Library" must include +any data and utility programs needed for reproducing the executable from it. However, +as a special exception, the source code distributed need not include anything that is +normally distributed (in either source or binary form) with the major components +(compiler, kernel, and so on) of the operating system on which the executable runs, +unless that component itself accompanies the executable. + + + +It may happen that this requirement contradicts the license restrictions of other +proprietary libraries that do not normally accompany the operating system. Such a +contradiction means you cannot use both them and the Library together in an executable +that you distribute. + + + +7. You may place library facilities that are a work based on the Library side-by-side +in a single library together with other library facilities not covered by this +License, and distribute such a combined library, provided that the separate +distribution of the work based on the Library and of the other library facilities is +otherwise permitted, and provided that you do these two things: + + + +a) Accompany the combined library with a copy of the same work based on the Library, +uncombined with any other library facilities. This must be distributed under the terms +of the Sections above. + +b) Give prominent notice with the combined library of the fact that part of it is a +work based on the Library, and explaining where to find the accompanying uncombined +form of the same work. + +8. You may not copy, modify, sublicense, link with, or distribute the Library except +as expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense, link with, or distribute the Library is void, and will automatically +terminate your rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses terminated so long +as such parties remain in full compliance. + + + +9. You are not required to accept this License, since you have not signed it. However, +nothing else grants you permission to modify or distribute the Library or its +derivative works. These actions are prohibited by law if you do not accept this +License. Therefore, by modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and all its terms and +conditions for copying, distributing or modifying the Library or works based on it. + + + +10. Each time you redistribute the Library (or any work based on the Library), the +recipient automatically receives a license from the original licensor to copy, +distribute, link with or modify the Library subject to these terms and conditions. You +may not impose any further restrictions on the recipients' exercise of the rights +granted herein. You are not responsible for enforcing compliance by third parties to +this License. + + + +11. If, as a consequence of a court judgment or allegation of patent infringement or +for any other reason (not limited to patent issues), conditions are imposed on you +(whether by court order, agreement or otherwise) that contradict the conditions of +this License, they do not excuse you from the conditions of this License. If you +cannot distribute so as to satisfy simultaneously your obligations under this License +and any other pertinent obligations, then as a consequence you may not distribute the +Library at all. For example, if a patent license would not permit royalty-free +redistribution of the Library by all those who receive copies directly or indirectly +through you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + + + +If any portion of this section is held invalid or unenforceable under any particular +circumstance, the balance of the section is intended to apply, and the section as a +whole is intended to apply in other circumstances. + + + +It is not the purpose of this section to induce you to infringe any patents or other +property right claims or to contest validity of any such claims; this section has the +sole purpose of protecting the integrity of the free software distribution system +which is implemented by public license practices. Many people have made generous +contributions to the wide range of software distributed through that system in +reliance on consistent application of that system; it is up to the author/donor to +decide if he or she is willing to distribute software through any other system and a +licensee cannot impose that choice. + + + +This section is intended to make thoroughly clear what is believed to be a consequence +of the rest of this License. + + + +12. If the distribution and/or use of the Library is restricted in certain countries +either by patents or by copyrighted interfaces, the original copyright holder who +places the Library under this License may add an explicit geographical distribution +limitation excluding those countries, so that distribution is permitted only in or +among countries not thus excluded. In such case, this License incorporates the +limitation as if written in the body of this License. + + + +13. The Free Software Foundation may publish revised and/or new versions of the +Library General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems or +concerns. + + + +Each version is given a distinguishing version number. If the Library specifies a +version number of this License which applies to it and "any later version", you have +the option of following the terms and conditions either of that version or of any +later version published by the Free Software Foundation. If the Library does not +specify a license version number, you may choose any version ever published by the +Free Software Foundation. + + + +14. If you wish to incorporate parts of the Library into other free programs whose +distribution conditions are incompatible with these, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, write +to the Free Software Foundation; we sometimes make exceptions for this. Our decision +will be guided by the two goals of preserving the free status of all derivatives of +our free software and of promoting the sharing and reuse of software generally. + + + +NO WARRANTY + + + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE +LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN +WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE +RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY +PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY +COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS +PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE +OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE +WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + + +END OF TERMS AND CONDITIONS + + + +How to Apply These Terms to Your New Libraries + + + +If you develop a new library, and you want it to be of the greatest possible use to +the public, we recommend making it free software that everyone can redistribute and +change. You can do so by permitting redistribution under these terms (or, +alternatively, under the terms of the ordinary General Public License). + + + +To apply these terms, attach the following notices to the library. It is safest to +attach them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a pointer to +where the full notice is found. + + + +one line to give the library's name and an idea of what it does. + +Copyright (C) year name of author + + + +This library is free software; you can redistribute it and/or + +modify it under the terms of the GNU Library General Public + +License as published by the Free Software Foundation; either + +version 2 of the License, or (at your option) any later version. + + + +This library 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 + +Library General Public License for more details. + + + +You should have received a copy of the GNU Library General Public + +License along with this library; if not, write to the + +Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + +Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper mail. + + + +You should also get your employer (if you work as a programmer) or your school, if +any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; +alter the names: + + + +Yoyodyne, Inc., hereby disclaims all copyright interest in + +the library `Frob' (a library for tweaking knobs) written + +by James Random Hacker. + + + +signature of Ty Coon, 1 April 1990 + +Ty Coon, President of Vice + +That's all there is to it! + +
+ +
+LGPL-2.1 + + +GNU LESSER GENERAL PUBLIC LICENSE + +Version 2.1, February 1999 + +Copyright (C) 1991, 1999 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] +Preamble + +The licenses for most software are designed to take away your freedom to share and +change it. By contrast, the GNU General Public Licenses are intended to guarantee your +freedom to share and change free software--to make sure the software is free for all +its users. + +This license, the Lesser General Public License, applies to some specially designated +software packages--typically libraries--of the Free Software Foundation and other +authors who decide to use it. You can use it too, but we suggest you first think +carefully about whether this license or the ordinary General Public License is the +better strategy to use in any particular case, based on the explanations below. + +When we speak of free software, we are referring to freedom of use, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish); that you +receive source code or can get it if you want it; that you can change the software and +use pieces of it in new free programs; and that you are informed that you can do these +things. + +To protect your rights, we need to make restrictions that forbid distributors to deny +you these rights or to ask you to surrender these rights. These restrictions translate +to certain responsibilities for you if you distribute copies of the library or if you +modify it. + +For example, if you distribute copies of the library, whether gratis or for a fee, you +must give the recipients all the rights that we gave you. You must make sure that +they, too, receive or can get the source code. If you link other code with the +library, you must provide complete object files to the recipients, so that they can +relink them with the library after making changes to the library and recompiling it. +And you must show them these terms so they know their rights. + +We protect your rights with a two-step method: (1) we copyright the library, and (2) +we offer you this license, which gives you legal permission to copy, distribute and/or +modify the library. + +To protect each distributor, we want to make it very clear that there is no warranty +for the free library. Also, if the library is modified by someone else and passed on, +the recipients should know that what they have is not the original version, so that +the original author`s reputation will not be affected by problems that might be +introduced by others. + +Finally, software patents pose a constant threat to the existence of any free program. +We wish to make sure that a company cannot effectively restrict the users of a free +program by obtaining a restrictive license from a patent holder. Therefore, we insist +that any patent license obtained for a version of the library must be consistent with +the full freedom of use specified in this license. + +Most GNU software, including some libraries, is covered by the ordinary GNU General +Public License. This license, the GNU Lesser General Public License, applies to +certain designated libraries, and is quite different from the ordinary General Public +License. We use this license for certain libraries in order to permit linking those +libraries into non-free programs. + +When a program is linked with a library, whether statically or using a shared library, +the combination of the two is legally speaking a combined work, a derivative of the +original library. The ordinary General Public License therefore permits such linking +only if the entire combination fits its criteria of freedom. The Lesser General Public +License permits more lax criteria for linking other code with the library. + +We call this license the "Lesser" General Public License because it does Less to +protect the user`s freedom than the ordinary General Public License. It also provides +other free software developers Less of an advantage over competing non-free programs. +These disadvantages are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain special +circumstances. + +For example, on rare occasions, there may be a special need to encourage the widest +possible use of a certain library, so that it becomes a de-facto standard. To achieve +this, non-free programs must be allowed to use the library. A more frequent case is +that a free library does the same job as widely used non-free libraries. In this case, +there is little to gain by limiting the free library to free software only, so we use +the Lesser General Public License. + +In other cases, permission to use a particular library in non-free programs enables a +greater number of people to use a large body of free software. For example, permission +to use the GNU C Library in non-free programs enables many more people to use the +whole GNU operating system, as well as its variant, the GNU/Linux operating system. + +Although the Lesser General Public License is Less protective of the users` freedom, +it does ensure that the user of a program that is linked with the Library has the +freedom and the wherewithal to run that program using a modified version of the +Library. + +The precise terms and conditions for copying, distribution and modification follow. +Pay close attention to the difference between a "work based on the library" and a +"work that uses the library". The former contains code derived from the library, +whereas the latter must be combined with the library in order to run. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License Agreement applies to any software library or other program which +contains a notice placed by the copyright holder or other authorized party saying it +may be distributed under the terms of this Lesser General Public License (also called +"this License"). Each licensee is addressed as "you". + +A "library" means a collection of software functions and/or data prepared so as to be +conveniently linked with application programs (which use some of those functions and +data) to form executables. + +The "Library", below, refers to any such software library or work which has been +distributed under these terms. A "work based on the Library" means either the Library +or any derivative work under copyright law: that is to say, a work containing the +Library or a portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is included without +limitation in the term "modification".) + +"Source code" for a work means the preferred form of the work for making modifications +to it. For a library, complete source code means all the source code for all modules +it contains, plus any associated interface definition files, plus the scripts used to +control compilation and installation of the library. + +Activities other than copying, distribution and modification are not covered by this +License; they are outside its scope. The act of running a program using the Library is +not restricted, and output from such a program is covered only if its contents +constitute a work based on the Library (independent of the use of the Library in a +tool for writing it). Whether that is true depends on what the Library does and what +the program that uses the Library does. + +1. You may copy and distribute verbatim copies of the Library`s complete source code +as you receive it, in any medium, provided that you conspicuously and appropriately +publish on each copy an appropriate copyright notice and disclaimer of warranty; keep +intact all the notices that refer to this License and to the absence of any warranty; +and distribute a copy of this License along with the Library. + +You may charge a fee for the physical act of transferring a copy, and you may at your +option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Library or any portion of it, thus +forming a work based on the Library, and copy and distribute such modifications or +work under the terms of Section 1 above, provided that you also meet all of these +conditions: + +a) The modified work must itself be a software library. +b) You must cause the files modified to carry prominent notices stating that you +changed the files and the date of any change. +c) You must cause the whole of the work to be licensed at no charge to all third +parties under the terms of this License. +d) If a facility in the modified Library refers to a function or a table of data to be +supplied by an application program that uses the facility, other than as an argument +passed when the facility is invoked, then you must make a good faith effort to ensure +that, in the event an application does not supply such function or table, the facility +still operates, and performs whatever part of its purpose remains meaningful. +(For example, a function in a library to compute square roots has a purpose that is +entirely well-defined independent of the application. Therefore, Subsection 2d +requires that any application-supplied function or table used by this function must be +optional: if the application does not supply it, the square root function must still +compute square roots.) + +These requirements apply to the modified work as a whole. If identifiable sections of +that work are not derived from the Library, and can be reasonably considered +independent and separate works in themselves, then this License, and its terms, do not +apply to those sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based on the Library, +the distribution of the whole must be on the terms of this License, whose permissions +for other licensees extend to the entire whole, and thus to each and every part +regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to +work written entirely by you; rather, the intent is to exercise the right to control +the distribution of derivative or collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library with the +Library (or with a work based on the Library) on a volume of a storage or distribution +medium does not bring the other work under the scope of this License. + +3. You may opt to apply the terms of the ordinary GNU General Public License instead +of this License to a given copy of the Library. To do this, you must alter all the +notices that refer to this License, so that they refer to the ordinary GNU General +Public License, version 2, instead of to this License. (If a newer version than +version 2 of the ordinary GNU General Public License has appeared, then you can +specify that version instead if you wish.) Do not make any other change in these +notices. + +Once this change is made in a given copy, it is irreversible for that copy, so the +ordinary GNU General Public License applies to all subsequent copies and derivative +works made from that copy. + +This option is useful when you wish to copy part of the code of the Library into a +program that is not a library. + +4. You may copy and distribute the Library (or a portion or derivative of it, under +Section 2) in object code or executable form under the terms of Sections 1 and 2 above +provided that you accompany it with the complete corresponding machine-readable source +code, which must be distributed under the terms of Sections 1 and 2 above on a medium +customarily used for software interchange. + +If distribution of object code is made by offering access to copy from a designated +place, then offering equivalent access to copy the source code from the same place +satisfies the requirement to distribute the source code, even though third parties are +not compelled to copy the source along with the object code. + +5. A program that contains no derivative of any portion of the Library, but is +designed to work with the Library by being compiled or linked with it, is called a +"work that uses the Library". Such a work, in isolation, is not a derivative work of +the Library, and therefore falls outside the scope of this License. + +However, linking a "work that uses the Library" with the Library creates an executable +that is a derivative of the Library (because it contains portions of the Library), +rather than a "work that uses the library". The executable is therefore covered by +this License. Section 6 states terms for distribution of such executables. + +When a "work that uses the Library" uses material from a header file that is part of +the Library, the object code for the work may be a derivative work of the Library even +though the source code is not. Whether this is true is especially significant if the +work can be linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + +If such an object file uses only numerical parameters, data structure layouts and +accessors, and small macros and small inline functions (ten lines or less in length), +then the use of the object file is unrestricted, regardless of whether it is legally a +derivative work. (Executables containing this object code plus portions of the Library +will still fall under Section 6.) + +Otherwise, if the work is a derivative of the Library, you may distribute the object +code for the work under the terms of Section 6. Any executables containing that work +also fall under Section 6, whether or not they are linked directly with the Library +itself. + +6. As an exception to the Sections above, you may also combine or link a "work that +uses the Library" with the Library to produce a work containing portions of the +Library, and distribute that work under terms of your choice, provided that the terms +permit modification of the work for the customer`s own use and reverse engineering for +debugging such modifications. + +You must give prominent notice with each copy of the work that the Library is used in +it and that the Library and its use are covered by this License. You must supply a +copy of this License. If the work during execution displays copyright notices, you +must include the copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one of these things: + +a) Accompany the work with the complete corresponding machine-readable source code for +the Library including whatever changes were used in the work (which must be +distributed under Sections 1 and 2 above); and, if the work is an executable linked +with the Library, with the complete machine-readable "work that uses the Library", as +object code and/or source code, so that the user can modify the Library and then +relink to produce a modified executable containing the modified Library. (It is +understood that the user who changes the contents of definitions files in the Library +will not necessarily be able to recompile the application to use the modified +definitions.) +b) Use a suitable shared library mechanism for linking with the Library. A suitable +mechanism is one that (1) uses at run time a copy of the library already present on +the user`s computer system, rather than copying library functions into the executable, +and (2) will operate properly with a modified version of the library, if the user +installs one, as long as the modified version is interface-compatible with the version +that the work was made with. +c) Accompany the work with a written offer, valid for at least three years, to give +the same user the materials specified in Subsection 6a, above, for a charge no more +than the cost of performing this distribution. +d) If distribution of the work is made by offering access to copy from a designated +place, offer equivalent access to copy the above specified materials from the same +place. +e) Verify that the user has already received a copy of these materials or that you +have already sent this user a copy. +For an executable, the required form of the "work that uses the Library" must include +any data and utility programs needed for reproducing the executable from it. However, +as a special exception, the materials to be distributed need not include anything that +is normally distributed (in either source or binary form) with the major components +(compiler, kernel, and so on) of the operating system on which the executable runs, +unless that component itself accompanies the executable. + +It may happen that this requirement contradicts the license restrictions of other +proprietary libraries that do not normally accompany the operating system. Such a +contradiction means you cannot use both them and the Library together in an executable +that you distribute. + +7. You may place library facilities that are a work based on the Library side-by-side +in a single library together with other library facilities not covered by this +License, and distribute such a combined library, provided that the separate +distribution of the work based on the Library and of the other library facilities is +otherwise permitted, and provided that you do these two things: + +a) Accompany the combined library with a copy of the same work based on the Library, +uncombined with any other library facilities. This must be distributed under the terms +of the Sections above. +b) Give prominent notice with the combined library of the fact that part of it is a +work based on the Library, and explaining where to find the accompanying uncombined +form of the same work. +8. You may not copy, modify, sublicense, link with, or distribute the Library except +as expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense, link with, or distribute the Library is void, and will automatically +terminate your rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses terminated so long +as such parties remain in full compliance. + +9. You are not required to accept this License, since you have not signed it. However, +nothing else grants you permission to modify or distribute the Library or its +derivative works. These actions are prohibited by law if you do not accept this +License. Therefore, by modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and all its terms and +conditions for copying, distributing or modifying the Library or works based on it. + +10. Each time you redistribute the Library (or any work based on the Library), the +recipient automatically receives a license from the original licensor to copy, +distribute, link with or modify the Library subject to these terms and conditions. You +may not impose any further restrictions on the recipients` exercise of the rights +granted herein. You are not responsible for enforcing compliance by third parties with +this License. + +11. If, as a consequence of a court judgment or allegation of patent infringement or +for any other reason (not limited to patent issues), conditions are imposed on you +(whether by court order, agreement or otherwise) that contradict the conditions of +this License, they do not excuse you from the conditions of this License. If you +cannot distribute so as to satisfy simultaneously your obligations under this License +and any other pertinent obligations, then as a consequence you may not distribute the +Library at all. For example, if a patent license would not permit royalty-free +redistribution of the Library by all those who receive copies directly or indirectly +through you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any particular +circumstance, the balance of the section is intended to apply, and the section as a +whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other +property right claims or to contest validity of any such claims; this section has the +sole purpose of protecting the integrity of the free software distribution system +which is implemented by public license practices. Many people have made generous +contributions to the wide range of software distributed through that system in +reliance on consistent application of that system; it is up to the author/donor to +decide if he or she is willing to distribute software through any other system and a +licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence +of the rest of this License. + +12. If the distribution and/or use of the Library is restricted in certain countries +either by patents or by copyrighted interfaces, the original copyright holder who +places the Library under this License may add an explicit geographical distribution +limitation excluding those countries, so that distribution is permitted only in or +among countries not thus excluded. In such case, this License incorporates the +limitation as if written in the body of this License. + +13. The Free Software Foundation may publish revised and/or new versions of the Lesser +General Public License from time to time. Such new versions will be similar in spirit +to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library specifies a +version number of this License which applies to it and "any later version", you have +the option of following the terms and conditions either of that version or of any +later version published by the Free Software Foundation. If the Library does not +specify a license version number, you may choose any version ever published by the +Free Software Foundation. + +14. If you wish to incorporate parts of the Library into other free programs whose +distribution conditions are incompatible with these, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, write +to the Free Software Foundation; we sometimes make exceptions for this. Our decision +will be guided by the two goals of preserving the free status of all derivatives of +our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE +LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN +WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE +RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY +PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY +COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS +PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, +INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE +OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE +WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Libraries + +If you develop a new library, and you want it to be of the greatest possible use to +the public, we recommend making it free software that everyone can redistribute and +change. You can do so by permitting redistribution under these terms (or, +alternatively, under the terms of the ordinary General Public License). + +To apply these terms, attach the following notices to the library. It is safest to +attach them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a pointer to +where the full notice is found. + +one line to give the library`s name and an idea of what it does. +Copyright (C) year name of author + +This library 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; either +version 2.1 of the License, or (at your option) any later version. + +This library 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. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your school, if +any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; +alter the names: + +Yoyodyne, Inc., hereby disclaims all copyright interest in +the library `Frob` (a library for tweaking knobs) written +by James Random Hacker. + +signature of Ty Coon, 1 April 1990 +Ty Coon, President of Vice +That`s all there is to it! + +
+ +
+LGPL-3.0 + +GNU LESSER GENERAL PUBLIC LICENSE + +Version 3, 29 June 2007 + +Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/> + +Everyone is permitted to copy and distribute verbatim copies of this license document, +but changing it is not allowed. + +This version of the GNU Lesser General Public License incorporates the terms and +conditions of version 3 of the GNU General Public License, supplemented by the +additional permissions listed below. +0. Additional Definitions. + +As used herein, ”this License” refers to version 3 of the GNU Lesser +General Public License, and the ”GNU GPL” refers to version 3 of the GNU +General Public License. + +”The Library” refers to a covered work governed by this License, other +than an Application or a Combined Work as defined below. + +An ”Application” is any work that makes use of an interface provided by +the Library, but which is not otherwise based on the Library. Defining a subclass of a +class defined by the Library is deemed a mode of using an interface provided by the +Library. + +A ”Combined Work” is a work produced by combining or linking an +Application with the Library. The particular version of the Library with which the +Combined Work was made is also called the ”Linked Version”. + +The ”Minimal Corresponding Source” for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code for portions of +the Combined Work that, considered in isolation, are based on the Application, and not +on the Linked Version. + +The ”Corresponding Application Code” for a Combined Work means the object +code and/or source code for the Application, including any data and utility programs +needed for reproducing the Combined Work from the Application, but excluding the +System Libraries of the Combined Work. +1. Exception to Section 3 of the GNU GPL. + +You may convey a covered work under sections 3 and 4 of this License without being +bound by section 3 of the GNU GPL. +2. Conveying Modified Versions. + +If you modify a copy of the Library, and, in your modifications, a facility refers to +a function or data to be supplied by an Application that uses the facility (other than +as an argument passed when the facility is invoked), then you may convey a copy of the +modified version: + + * a) under this License, provided that you make a good faith effort to ensure +that, in the event an Application does not supply the function or data, the facility +still operates, and performs whatever part of its purpose remains meaningful, or + * b) under the GNU GPL, with none of the additional permissions of this License +applicable to that copy. + +3. Object Code Incorporating Material from Library Header Files. + +The object code form of an Application may incorporate material from a header file +that is part of the Library. You may convey such object code under terms of your +choice, provided that, if the incorporated material is not limited to numerical +parameters, data structure layouts and accessors, or small macros, inline functions +and templates (ten or fewer lines in length), you do both of the following: + + * a) Give prominent notice with each copy of the object code that the Library is +used in it and that the Library and its use are covered by this License. + * b) Accompany the object code with a copy of the GNU GPL and this license +document. + +4. Combined Works. + +You may convey a Combined Work under terms of your choice that, taken together, +effectively do not restrict modification of the portions of the Library contained in +the Combined Work and reverse engineering for debugging such modifications, if you +also do each of the following: + + * a) Give prominent notice with each copy of the Combined Work that the Library is +used in it and that the Library and its use are covered by this License. + * b) Accompany the Combined Work with a copy of the GNU GPL and this license +document. + * c) For a Combined Work that displays copyright notices during execution, include +the copyright notice for the Library among these notices, as well as a reference +directing the user to the copies of the GNU GPL and this license document. + * d) Do one of the following: + o 0) Convey the Minimal Corresponding Source under the terms of this +License, and the Corresponding Application Code in a form suitable for, and under +terms that permit, the user to recombine or relink the Application with a modified +version of the Linked Version to produce a modified Combined Work, in the manner +specified by section 6 of the GNU GPL for conveying Corresponding Source. + o 1) Use a suitable shared library mechanism for linking with the Library. A +suitable mechanism is one that (a) uses at run time a copy of the Library already +present on the user's computer system, and (b) will operate properly with a modified +version of the Library that is interface-compatible with the Linked Version. + * e) Provide Installation Information, but only if you would otherwise be required +to provide such information under section 6 of the GNU GPL, and only to the extent +that such information is necessary to install and execute a modified version of the +Combined Work produced by recombining or relinking the Application with a modified +version of the Linked Version. (If you use option 4d0, the Installation Information +must accompany the Minimal Corresponding Source and Corresponding Application Code. If +you use option 4d1, you must provide the Installation Information in the manner +specified by section 6 of the GNU GPL for conveying Corresponding Source.) + +5. Combined Libraries. + +You may place library facilities that are a work based on the Library side by side in +a single library together with other library facilities that are not Applications and +are not covered by this License, and convey such a combined library under terms of +your choice, if you do both of the following: + + * a) Accompany the combined library with a copy of the same work based on the +Library, uncombined with any other library facilities, conveyed under the terms of +this License. + * b) Give prominent notice with the combined library that part of it is a work +based on the Library, and explaining where to find the accompanying uncombined form of +the same work. + +6. Revised Versions of the GNU Lesser General Public License. + +The Free Software Foundation may publish revised and/or new versions of the GNU Lesser +General Public License from time to time. Such new versions will be similar in spirit +to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library as you received +it specifies that a certain numbered version of the GNU Lesser General Public License +”or any later version” applies to it, you have the option of following +the terms and conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you received it does not +specify a version number of the GNU Lesser General Public License, you may choose any +version of the GNU Lesser General Public License ever published by the Free Software +Foundation. + +If the Library as you received it specifies that a proxy can decide whether future +versions of the GNU Lesser General Public License shall apply, that proxy's public +statement of acceptance of any version is permanent authorization for you to choose +that version for the Library. +
+ +
+Libpng + + +This copy of the libpng notices is provided for your convenience. In case of +any discrepancy between this copy and the notices in the file png.h that is +included in the libpng distribution, the latter shall prevail. + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: + +If you modify libpng you may insert additional notices immediately following +this sentence. + +This code is released under the libpng license. + +libpng versions 1.2.6, August 15, 2004, through 1.4.5, December 9, 2010, are +Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are +distributed according to the same disclaimer and license as libpng-1.2.5 +with the following individual added to the list of Contributing Authors + + Cosmin Truta + +libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are +Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are +distributed according to the same disclaimer and license as libpng-1.0.6 +with the following individuals added to the list of Contributing Authors + + Simon-Pierre Cadieux + Eric S. Raymond + Gilles Vollant + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of the + library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is with + the user. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are +distributed according to the same disclaimer and license as libpng-0.96, +with the following individuals added to the list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996, 1997 Andreas Dilger +Distributed according to the same disclaimer and license as libpng-0.88, +with the following individuals added to the list of Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing Authors +and Group 42, Inc. disclaim all warranties, expressed or implied, +including, without limitation, the warranties of merchantability and of +fitness for any purpose. The Contributing Authors and Group 42, Inc. +assume no liability for direct, indirect, incidental, special, exemplary, +or consequential damages, which may result from the use of the PNG +Reference Library, even if advised of the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + +1. The origin of this source code must not be misrepresented. + +2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + +3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, without +fee, and encourage the use of this source code as a component to +supporting the PNG file format in commercial products. If you use this +source code in a product, acknowledgment is not required but would be +appreciated. + + +A "png_get_copyright" function is available, for convenient use in "about" +boxes and the like: + + printf("%s",png_get_copyright(NULL)); + +Also, the PNG logo (in PNG format, of course) is supplied in the +files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). + +Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a +certification mark of the Open Source Initiative. + +Glenn Randers-Pehrson +glennrp at users.sourceforge.net +December 9, 2010 + +
+ +
+MIT + + +MIT License + +Copyright (c) <year> <copyright holders> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +
+ +
+MPL-1.0 + + +MOZILLA PUBLIC LICENSE +Version 1.0 + +1. Definitions. + +1.1. ``Contributor`` means each entity that creates or contributes to the creation of +Modifications. +1.2. ``Contributor Version`` means the combination of the Original Code, prior +Modifications used by a Contributor, and the Modifications made by that particular +Contributor. + +1.3. ``Covered Code`` means the Original Code or Modifications or the combination of +the Original Code and Modifications, in each case including portions thereof. + +1.4. ``Electronic Distribution Mechanism`` means a mechanism generally accepted in the +software development community for the electronic transfer of data. + +1.5. ``Executable`` means Covered Code in any form other than Source Code. + +1.6. ``Initial Developer`` means the individual or entity identified as the Initial +Developer in the Source Code notice required by Exhibit A. + +1.7. ``Larger Work`` means a work which combines Covered Code or portions thereof with +code not governed by the terms of this License. + +1.8. ``License`` means this document. + +1.9. ``Modifications`` means any addition to or deletion from the substance or +structure of either the Original Code or any previous Modifications. When Covered Code +is released as a series of files, a Modification is: + +A. Any addition to or deletion from the contents of a file containing Original Code or +previous Modifications. + +B. Any new file that contains any part of the Original Code or previous Modifications. + +1.10. ``Original Code`` means Source Code of computer software code which is described +in the Source Code notice required by Exhibit A as Original Code, and which, at the +time of its release under this License is not already Covered Code governed by this +License. + +1.11. ``Source Code`` means the preferred form of the Covered Code for making +modifications to it, including all modules it contains, plus any associated interface +definition files, scripts used to control compilation and installation of an +Executable, or a list of source code differential comparisons against either the +Original Code or another well known, available Covered Code of the Contributor`s +choice. The Source Code can be in a compressed or archival form, provided the +appropriate decompression or de-archiving software is widely available for no charge. + +1.12. ``You`` means an individual or a legal entity exercising rights under, and +complying with all of the terms of, this License or a future version of this License +issued under Section 6.1. For legal entities, ``You`` includes any entity which +controls, is controlled by, or is under common control with You. For purposes of this +definition, ``control`` means (a) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or otherwise, or (b) +ownership of fifty percent (50%) or more of the outstanding shares or beneficial +ownership of such entity. + +2. Source Code License. +2.1. The Initial Developer Grant. +The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive +license, subject to third party intellectual property claims: +(a) to use, reproduce, modify, display, perform, sublicense and distribute the +Original Code (or portions thereof) with or without Modifications, or as part of a +Larger Work; and + +(b) under patents now or hereafter owned or controlled by Initial Developer, to make, +have made, use and sell (``Utilize``) the Original Code (or portions thereof), but +solely to the extent that any such patent is reasonably necessary to enable You to +Utilize the Original Code (or portions thereof) and not to any greater extent that may +be necessary to Utilize further Modifications or combinations. + +2.2. Contributor Grant. +Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, +subject to third party intellectual property claims: + +(a) to use, reproduce, modify, display, perform, sublicense and distribute the +Modifications created by such Contributor (or portions thereof) either on an +unmodified basis, with other Modifications, as Covered Code or as part of a Larger +Work; and + +(b) under patents now or hereafter owned or controlled by Contributor, to Utilize the +Contributor Version (or portions thereof), but solely to the extent that any such +patent is reasonably necessary to enable You to Utilize the Contributor Version (or +portions thereof), and not to any greater extent that may be necessary to Utilize +further Modifications or combinations. + +3. Distribution Obligations. +3.1. Application of License. +The Modifications which You create or to which You contribute are governed by the +terms of this License, including without limitation Section 2.2. The Source Code +version of Covered Code may be distributed only under the terms of this License or a +future version of this License released under Section 6.1, and You must include a copy +of this License with every copy of the Source Code You distribute. You may not offer +or impose any terms on any Source Code version that alters or restricts the applicable +version of this License or the recipients` rights hereunder. However, You may include +an additional document offering the additional rights described in Section 3.5. +3.2. Availability of Source Code. +Any Modification which You create or to which You contribute must be made available in +Source Code form under the terms of this License either on the same media as an +Executable version or via an accepted Electronic Distribution Mechanism to anyone to +whom you made an Executable version available; and if made available via Electronic +Distribution Mechanism, must remain available for at least twelve (12) months after +the date it initially became available, or at least six (6) months after a subsequent +version of that particular Modification has been made available to such recipients. +You are responsible for ensuring that the Source Code version remains available even +if the Electronic Distribution Mechanism is maintained by a third party. + +3.3. Description of Modifications. +You must cause all Covered Code to which you contribute to contain a file documenting +the changes You made to create that Covered Code and the date of any change. You must +include a prominent statement that the Modification is derived, directly or +indirectly, from Original Code provided by the Initial Developer and including the +name of the Initial Developer in (a) the Source Code, and (b) in any notice in an +Executable version or related documentation in which You describe the origin or +ownership of the Covered Code. + +3.4. Intellectual Property Matters + +(a) Third Party Claims. +If You have knowledge that a party claims an intellectual property right in particular +functionality or code (or its utilization under this License), you must include a text +file with the source code distribution titled ``LEGAL`` which describes the claim and +the party making the claim in sufficient detail that a recipient will know whom to +contact. If you obtain such knowledge after You make Your Modification available as +described in Section 3.2, You shall promptly modify the LEGAL file in all copies You +make available thereafter and shall take other steps (such as notifying appropriate +mailing lists or newsgroups) reasonably calculated to inform those who received the +Covered Code that new knowledge has been obtained. + +(b) Contributor APIs. +If Your Modification is an application programming interface and You own or control +patents which are reasonably necessary to implement that API, you must also include +this information in the LEGAL file. + +3.5. Required Notices. +You must duplicate the notice in Exhibit A in each file of the Source Code, and this +License in any documentation for the Source Code, where You describe recipients` +rights relating to Covered Code. If You created one or more Modification(s), You may +add your name as a Contributor to the notice described in Exhibit A. If it is not +possible to put such notice in a particular Source Code file due to its structure, +then you must include such notice in a location (such as a relevant directory file) +where a user would be likely to look for such a notice. You may choose to offer, and +to charge a fee for, warranty, support, indemnity or liability obligations to one or +more recipients of Covered Code. However, You may do so only on Your own behalf, and +not on behalf of the Initial Developer or any Contributor. You must make it absolutely +clear than any such warranty, support, indemnity or liability obligation is offered by +You alone, and You hereby agree to indemnify the Initial Developer and every +Contributor for any liability incurred by the Initial Developer or such Contributor as +a result of warranty, support, indemnity or liability terms You offer. + +3.6. Distribution of Executable Versions. +You may distribute Covered Code in Executable form only if the requirements of Section +3.1-3.5 have been met for that Covered Code, and if You include a notice stating that +the Source Code version of the Covered Code is available under the terms of this +License, including a description of how and where You have fulfilled the obligations +of Section 3.2. The notice must be conspicuously included in any notice in an +Executable version, related documentation or collateral in which You describe +recipients` rights relating to the Covered Code. You may distribute the Executable +version of Covered Code under a license of Your choice, which may contain terms +different from this License, provided that You are in compliance with the terms of +this License and that the license for the Executable version does not attempt to limit +or alter the recipient`s rights in the Source Code version from the rights set forth +in this License. If You distribute the Executable version under a different license +You must make it absolutely clear that any terms which differ from this License are +offered by You alone, not by the Initial Developer or any Contributor. You hereby +agree to indemnify the Initial Developer and every Contributor for any liability +incurred by the Initial Developer or such Contributor as a result of any such terms +You offer. + +3.7. Larger Works. +You may create a Larger Work by combining Covered Code with other code not governed by +the terms of this License and distribute the Larger Work as a single product. In such +a case, You must make sure the requirements of this License are fulfilled for the +Covered Code. + +4. Inability to Comply Due to Statute or Regulation. +If it is impossible for You to comply with any of the terms of this License with +respect to some or all of the Covered Code due to statute or regulation then You must: +(a) comply with the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must be included +in the LEGAL file described in Section 3.4 and must be included with all distributions +of the Source Code. Except to the extent prohibited by statute or regulation, such +description must be sufficiently detailed for a recipient of ordinary skill to be able +to understand it. + +5. Application of this License. +This License applies to code to which the Initial Developer has attached the notice in +Exhibit A, and to related Covered Code. +6. Versions of the License. +6.1. New Versions. +Netscape Communications Corporation (``Netscape``) may publish revised and/or new +versions of the License from time to time. Each version will be given a distinguishing +version number. +6.2. Effect of New Versions. +Once Covered Code has been published under a particular version of the License, You +may always continue to use it under the terms of that version. You may also choose to +use such Covered Code under the terms of any subsequent version of the License +published by Netscape. No one other than Netscape has the right to modify the terms +applicable to Covered Code created under this License. + +6.3. Derivative Works. +If you create or use a modified version of this License (which you may only do in +order to apply it to code which is not already Covered Code governed by this License), +you must (a) rename Your license so that the phrases ``Mozilla``, ``MOZILLAPL``, +``MOZPL``, ``Netscape``, ``NPL`` or any confusingly similar phrase do not appear +anywhere in your license and (b) otherwise make it clear that your version of the +license contains terms which differ from the Mozilla Public License and Netscape +Public License. (Filling in the name of the Initial Developer, Original Code or +Contributor in the notice described in Exhibit A shall not of themselves be deemed to +be modifications of this License.) + +7. DISCLAIMER OF WARRANTY. +COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS`` BASIS, WITHOUT WARRANTY OF +ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT +THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR +NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE +IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE +INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY +SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL +PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER +THIS DISCLAIMER. +8. TERMINATION. +This License and the rights granted hereunder will terminate automatically if You fail +to comply with terms herein and fail to cure such breach within 30 days of becoming +aware of the breach. All sublicenses to the Covered Code which are properly granted +shall survive any termination of this License. Provisions which, by their nature, must +remain in effect beyond the termination of this License shall survive. +9. LIMITATION OF LIABILITY. +UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), +CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY +DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU +OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF +ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK +STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR +LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH +DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR +PERSONAL INJURY RESULTING FROM SUCH PARTY`S NEGLIGENCE TO THE EXTENT APPLICABLE LAW +PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION +OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY +TO YOU. +10. U.S. GOVERNMENT END USERS. +The Covered Code is a ``commercial item,`` as that term is defined in 48 C.F.R. 2.101 +(Oct. 1995), consisting of ``commercial computer software`` and ``commercial computer +software documentation,`` as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). +Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June +1995), all U.S. Government End Users acquire Covered Code with only those rights set +forth herein. +11. MISCELLANEOUS. +This License represents the complete agreement concerning subject matter hereof. If +any provision of this License is held to be unenforceable, such provision shall be +reformed only to the extent necessary to make it enforceable. This License shall be +governed by California law provisions (except to the extent applicable law, if any, +provides otherwise), excluding its conflict-of-law provisions. With respect to +disputes in which at least one party is a citizen of, or an entity chartered or +registered to do business in, the United States of America: (a) unless otherwise +agreed in writing, all disputes relating to this License (excepting any dispute +relating to intellectual property rights) shall be subject to final and binding +arbitration, with the losing party paying all costs of arbitration; (b) any +arbitration relating to this Agreement shall be held in Santa Clara County, +California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to +this Agreement shall be subject to the jurisdiction of the Federal Courts of the +Northern District of California, with venue lying in Santa Clara County, California, +with the losing party responsible for costs, including without limitation, court costs +and reasonable attorneys fees and expenses. The application of the United Nations +Convention on Contracts for the International Sale of Goods is expressly excluded. Any +law or regulation which provides that the language of a contract shall be construed +against the drafter shall not apply to this License. +12. RESPONSIBILITY FOR CLAIMS. +Except in cases where another Contributor has failed to comply with Section 3.4, You +are responsible for damages arising, directly or indirectly, out of Your utilization +of rights under this License, based on the number of copies of Covered Code you made +available, the revenues you received from utilizing such rights, and other relevant +factors. You agree to work with affected parties to distribute responsibility on an +equitable basis. +EXHIBIT A. +``The contents of this file are subject to the Mozilla Public License Version 1.0 (the +"License"); you may not use this file except in compliance with the License. You may +obtain a copy of the License at http://www.mozilla.org/MPL/ +Software distributed under the License is distributed on an "AS IS" basis, WITHOUT +WARRANTY OF ANY KIND, either express or implied. See the License for the specific +language governing rights and limitations under the License. + +The Original Code is ______________________________________. + +The Initial Developer of the Original Code is ________________________. Portions +created by ______________________ are Copyright (C) ______ _______________________. +All Rights Reserved. + +Contributor(s): ______________________________________.`` + +
+ +
+MPL-2.0 + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. +
+ +
+OASIS + + Permission to use, copy, modify and distribute the DocBook DTD and + its accompanying documentation for any purpose and without fee is + hereby granted in perpetuity, provided that the above copyright + notice and this paragraph appear in all copies. The copyright + holders make no representation about the suitability of the DTD for + any purpose. It is provided "as is" without expressed or implied + warranty. + + If you modify the DocBook DTD in any way, except for declaring and + referencing additional sets of general entities and declaring + additional notations, label your DTD as a variant of DocBook. See + the maintenance documentation for more information. + +
+ +
+OpenSSL + + +OpenSSL License + + ==================================================================== + Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. All advertising materials mentioning features or use of this + software must display the following acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + + 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + endorse or promote products derived from this software without + prior written permission. For written permission, please contact + openssl-core@openssl.org. + + 5. Products derived from this software may not be called "OpenSSL" + nor may "OpenSSL" appear in their names without prior written + permission of the OpenSSL Project. + + 6. Redistributions of any form whatsoever must retain the following + acknowledgment: + "This product includes software developed by the OpenSSL Project + for use in the OpenSSL Toolkit (http://www.openssl.org/)" + + THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS`` AND ANY + EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + OF THE POSSIBILITY OF SUCH DAMAGE. + ==================================================================== + + This product includes cryptographic software written by Eric Young + (eay@cryptsoft.com). This product includes software written by Tim + Hudson (tjh@cryptsoft.com). + + + Original SSLeay License + ----------------------- + +Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) +All rights reserved. + + This package is an SSL implementation written + by Eric Young (eay@cryptsoft.com). + The implementation was written so as to conform with Netscapes SSL. + + This library is free for commercial and non-commercial use as long as + the following conditions are aheared to. The following conditions + apply to all code found in this distribution, be it the RC4, RSA, + lhash, DES, etc., code; not just the SSL code. The SSL documentation + included with this distribution is covered by the same copyright terms + except that the holder is Tim Hudson (tjh@cryptsoft.com). + + Copyright remains Eric Young`s, and as such any Copyright notices in + the code are not to be removed. + If this package is used in a product, Eric Young should be given attribution + as the author of the parts of the library used. + This can be in the form of a textual message at program startup or + in documentation (online or textual) provided with the package. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + "This product includes cryptographic software written by + Eric Young (eay@cryptsoft.com)" + The word `cryptographic` can be left out if the rouines from the library + being used are not cryptographic related :-). + 4. If you include any Windows specific code (or a derivative thereof) from + the apps directory (application code) you must include an acknowledgement: + "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" + + THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS`` AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + The licence and distribution terms for any publically available version or +derivative of this code cannot be changed. i.e. this code cannot simply be copied and +put under another distribution licence + [including the GNU Public Licence.] + + + + +
+ +
+PD + +This is a placeholder for the Public Domain License +
+ +
+Python-2.0 + + +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python +alone or in any derivative version, provided, however, that PSF`s +License Agreement and PSF`s notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights +Reserved" are retained in Python alone or in any derivative version +prepared by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. + +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 +------------------------------------------- + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 +--------------------------------------- + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI`s +License Agreement and CNRI`s notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI`s License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI`s License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia`s conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + +ACCEPT + +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 +-------------------------------------------------- + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +
+ +
+Sleepycat + + +The Sleepycat License +Copyright (c) 1990-1999 +Sleepycat Software. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +Redistributions in any form must be accompanied by information on +how to obtain complete source code for the DB software and any +accompanying software that uses the DB software. The source code +must either be included in the distribution or be available for no +more than the cost of distribution plus a nominal fee, and must be +freely redistributable under reasonable conditions. For an +executable file, complete source code means the source code for all +modules it contains. It does not include source code for modules or +files that typically accompany the major components of the operating +system on which the executable file runs. +THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS`` AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL SLEEPYCAT SOFTWARE +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. + +Copyright (c) 1990, 1993, 1994, 1995 +The Regents of the University of California. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +Neither the name of the University nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS`` AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +Copyright (c) 1995, 1996 +The President and Fellows of Harvard University. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. +Neither the name of the University nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. +THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS`` AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +SUCH DAMAGE. + +
+ +
+Zlib + + +zlib License + + + This software is provided `as-is`, without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +
+ +
+OFL-1.1 + + +SIL OPEN FONT LICENSE + +Version 1.1 - 26 February 2007 +PREAMBLE + +The goals of the Open Font License (OFL) are to stimulate worldwide + development of collaborative font projects, to support the font creation + efforts of academic and linguistic communities, and to provide a free and + open framework in which fonts may be shared and improved in partnership + with others. + +The OFL allows the licensed fonts to be used, studied, modified and + redistributed freely as long as they are not sold by themselves. The + fonts, including any derivative works, can be bundled, embedded, + redistributed and/or sold with any software provided that any reserved + names are not used by derivative works. The fonts and derivatives, + however, cannot be released under any other type of license. The + requirement for fonts to remain under this license does not apply + to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright + Holder(s) under this license and clearly marked as such. This may + include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the + copyright statement(s). + +"Original Version" refers to the collection of Font Software components as + distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, + or substituting - in part or in whole - any of the components of the + Original Version, by changing formats or by porting the Font Software to a + new environment. + +"Author" refers to any designer, engineer, programmer, technical + writer or other person who contributed to the Font Software. + +PERMISSION and CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining + a copy of the Font Software, to use, study, copy, merge, embed, modify, + redistribute, and sell modified and unmodified copies of the Font + Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, + in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, + redistributed and/or sold with any software, provided that each copy + contains the above copyright notice and this license. These can be + included either as stand-alone text files, human-readable headers or + in the appropriate machine-readable metadata fields within text or + binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font + Name(s) unless explicit written permission is granted by the corresponding + Copyright Holder. This restriction only applies to the primary font name as + presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + Software shall not be used to promote, endorse or advertise any + Modified Version, except to acknowledge the contribution(s) of the + Copyright Holder(s) and the Author(s) or with their explicit written + permission. + +5) The Font Software, modified or unmodified, in part or in whole, + must be distributed entirely under this license, and must not be + distributed under any other license. The requirement for fonts to + remain under this license does not apply to any document created + using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are + not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + OTHER DEALINGS IN THE FONT SOFTWARE. + + +© 2003-2009 SIL International, all rights reserved, unless otherwise noted + elsewhere on this page. + Provided by SIL's Non-Roman Script Initiative. Contact us at nrsi@sil.org. + +
+ +
+GPL-3.0-with-autoconf-exception + + +insert GPL v3 text here + +AUTOCONF CONFIGURE SCRIPT EXCEPTION + +Version 3.0, 18 August 2009 +Copyright © 2009 Free Software Foundation, Inc. http://fsf.org/ + +Everyone is permitted to copy and distribute verbatim copies of this license + document, but changing it is not allowed. + +This Exception is an additional permission under section 7 of the GNU General + Public License, version 3 ("GPLv3"). It applies to a given file that bears a + notice placed by the copyright holder of the file stating that the file is + governed by GPLv3 along with this Exception. + +The purpose of this Exception is to allow distribution of Autoconf's typical + output under terms of the recipient's choice (including proprietary). + +0. Definitions. + +"Covered Code" is the source or object code of a version of Autoconf that is + a covered work under this License. + +"Normally Copied Code" for a version of Autoconf means all parts of its + Covered Code which that version can copy from its code (i.e., not from its + input file) into its minimally verbose, non-debugging and non-tracing output. + +"Ineligible Code" is Covered Code that is not Normally Copied Code. + +1. Grant of Additional Permission. + +You have permission to propagate output of Autoconf, even if such propagation + would otherwise violate the terms of GPLv3. However, if by modifying Autoconf + you cause any Ineligible Code of the version you received to become Normally + Copied Code of your modified version, then you void this Exception for the + resulting covered work. If you convey that resulting covered work, you must + remove this Exception in accordance with the second paragraph of Section 7 of + GPLv3. + +2. No Weakening of Autoconf Copyleft. + +The availability of this Exception does not imply any general presumption that + third-party software is unaffected by the copyleft requirements of the license + of Autoconf. + +
+ +
+XSL + + +Copyright +--------- +Copyright (C) 1999-2007 Norman Walsh +Copyright (C) 2003 Jiří Kosek +Copyright (C) 2004-2007 Steve Ball +Copyright (C) 2005-2007 The DocBook Project + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the ``Software''), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +Except as contained in this notice, the names of individuals +credited with contribution to this software shall not be used in +advertising or otherwise to promote the sale, use or other +dealings in this Software without prior written authorization +from the individuals in question. + +Any stylesheet derived from this Software that is publically +distributed will be identified with a different name and the +version strings in any derived Software will be changed so that +no possibility of confusion between the derived package and this +Software will exist. + +Warranty +-------- +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER +CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +Contacting the Author +--------------------- +The reference documentation for the DocBook XSL stylesheets is +maintained by Norman Walsh, ndw@nwalsh.com, and members of the +DocBook Project, docbook-developers@sf.net + + +
+ +
+Intel-ACPI + + +ACPI - Software License Agreement + + 
Software License Agreement IMPORTANT - READ BEFORE COPYING, INSTALLING OR + USING. + +Do not use or load this software and any associated materials (collectively, + the "Software") until you have carefully read the following terms and + conditions. By loading or using the Software, you agree to the terms of this + Agreement. If you do not wish to so agree, do not install or use the Software. + +1. COPYRIGHT NOTICE Some or all of this work - Copyright © 1999-2005, Intel Corp. + All rights reserved. + +2. LICENSE + +2.1. This is your license from Intel Corp. under its intellectual property + rights. You may have additional license terms from the party that provided + you this software, covering your right to use that party's intellectual + property rights. + +2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a copy + of the source code appearing in this file ("Covered Code") an irrevocable, + perpetual, worldwide license under Intel's copyrights in the base code + distributed originally by Intel ("Original Intel Code") to copy, make + derivatives, distribute, use and display any portion of the Covered Code in + any form, with the right to sublicense such rights; and + +2.3. Intel grants Licensee a non-exclusive and non-transferable patent license + (with the right to sublicense), under only those claims of Intel patents that + are infringed by the Original Intel Code, to make, use, sell, offer to sell, + and import the Covered Code and derivative works thereof solely to the minimum + extent necessary to exercise the above copyright license, and in no event + shall the patent license extend to any additions to or modifications of the + Original Intel Code. No other license or right is granted directly or by + implication, estoppel or otherwise; The above copyright and patent license is + granted only if the following conditions are met: + +3. CONDITIONS + +3.1. Redistribution of Source with Rights to Further Distribute Source. + Redistribution of source code of any substantial portion of the Covered Code + or modification with rights to further distribute source must include the + above Copyright Notice, the above License, this list of Conditions, and the + following Disclaimer and Export Compliance provision. In addition, Licensee + must cause all Covered Code to which Licensee contributes to contain a file + documenting the changes Licensee made to create that Covered Code and the date + of any change. Licensee must include in that file the documentation of any + changes made by any predecessor Licensee. Licensee must include a prominent + statement that the modification is derived, directly or indirectly, from + Original Intel Code. + +3.2. Redistribution of Source with no Rights to Further Distribute Source. + Redistribution of source code of any substantial portion of the Covered Code + or modification without rights to further distribute source must include the + following Disclaimer and Export Compliance provision in the documentation + and/or other materials provided with distribution. In addition, Licensee may + not authorize further sublicense of source of any portion of the Covered Code, + and must include terms to the effect that the license from Licensee to its + licensee is limited to the intellectual property embodied in the software + Licensee provides to its licensee, and not to intellectual property embodied + in modifications its licensee may make. + +3.3. Redistribution of Executable. Redistribution in executable form of any + substantial portion of the Covered Code or modification must reproduce the + above Copyright Notice, and the following Disclaimer and Export Compliance + provision in the documentation and/or other materials provided with the + distribution. + +3.4. Intel retains all right, title, and interest in and to the Original Intel + Code. + +3.5. Neither the name Intel nor any other trademark owned or controlled by + Intel shall be used in advertising or otherwise to promote the sale, use or + other dealings in products derived from or relating to the Covered Code + without prior written authorization from Intel. + +4. DISCLAIMER AND EXPORT COMPLIANCE + +4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED HERE. + ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE IS PROVIDED + "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, INSTALLATION, + TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY UPDATES, ENHANCEMENTS + OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF + MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. + +4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES OR + ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR COSTS + OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, SPECIAL + OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY CAUSE OF + ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL HAS ADVANCE + NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY + NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. + +4.3. Licensee shall not export, either directly or indirectly, any of this + software or system incorporating such software without first obtaining any + required license or other approval from the U. S. Department of Commerce or + any other agency or department of the United States Government. In the event + Licensee exports any such software from the United States or re-exports any + such software from a foreign destination, Licensee shall ensure that the + distribution and export/re-export of the software is in compliance with all + laws, regulations, orders, or other restrictions of the U.S. Export + Administration Regulations. Licensee agrees that neither it nor any of its + subsidiaries will export/re-export any technical data, process, software, or + service, directly or indirectly, to any country for which the United States + government or any agency thereof requires an export license, other + governmental approval, or letter of assurance, without first obtaining such + license, approval or letter. + + +
+ +
+Intel-Microcode-License + + +Copyright Intel Corporation, 1995, 96, 97, 98, 99, 2000. +These microcode updates are distributed for the sole purpose of installation +in the BIOS or Operating System of computer systems which include an Intel P6 +family microprocessor sold or distributed to or by you. You are authorized to +copy and install this material on such systems. You are not authorized to use +this material for any other purpose. + +
+ +
+ZPL-2.1 + + +Zope Public License (ZPL) Version 2.1 + +A copyright notice accompanies this license document that identifies the +copyright holders. + +This license has been certified as open source. It has also been designated as +GPL compatible by the Free Software Foundation (FSF). + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions in source code must retain the accompanying copyright +notice, this list of conditions, and the following disclaimer. + +2. Redistributions in binary form must reproduce the accompanying copyright +notice, this list of conditions, and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +3. Names of the copyright holders must not be used to endorse or promote +products derived from this software without prior written permission from the +copyright holders. + +4. The right to distribute this software or to use it for any purpose does not +give you the right to use Servicemarks (sm) or Trademarks (tm) of the +copyright +holders. Use of them is covered by separate agreement with the copyright +holders. + +5. If any files are modified, you must cause the modified files to carry +prominent notices stating that you changed the files and the date of any +change. + +Disclaimer + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +
+ + +
+
+ License statements for packages with PD license + +
+ encodings, version 1.0.4 +
+ LICENSE + + +Dropbear contains a number of components from different sources, hence there +are a few licenses and authors involved. All licenses are fairly +non-restrictive. + + +The majority of code is written by Matt Johnston, under the license below. + +Portions of the client-mode work are (c) 2004 Mihnea Stoenescu, under the +same license: + +Copyright (c) 2002-2015 Matt Johnston +Portions copyright (c) 2004 Mihnea Stoenescu +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +===== + +LibTomCrypt and LibTomMath are written by Tom St Denis, and are Public Domain. + +===== + +sshpty.c is taken from OpenSSH 3.5p1, + Copyright (c) 1995 Tatu Ylonen ylo@cs.hut.fi, Espoo, Finland + All rights reserved + "As far as I am concerned, the code I have written for this software + can be used freely for any purpose. Any derived versions of this + software must be clearly marked as such, and if the derived work is + incompatible with the protocol description in the RFC file, it must be + called by a name other than "ssh" or "Secure Shell". " + +===== + +loginrec.c +loginrec.h +atomicio.h +atomicio.c +and strlcat() (included in util.c) are from OpenSSH 3.6.1p2, and are licensed +under the 2 point BSD license. + +loginrec is written primarily by Andre Lucas, atomicio.c by Theo de Raadt. + +strlcat() is (c) Todd C. Miller + +===== + +Import code in keyimport.c is modified from PuTTY's import.c, licensed as +follows: + +PuTTY is copyright 1997-2003 Simon Tatham. + +Portions copyright Robert de Bath, Joris van Rantwijk, Delian +Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry, +Justin Bradford, and CORE SDI S.A. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation files +(the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of the Software, +and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF +CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +===== + +curve25519-donna: + +/* Copyright 2008, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * curve25519-donna: Curve25519 elliptic curve, public key function + * + * http://code.google.com/p/curve25519-donna/ + * + * Adam Langley agl@imperialviolet.org + * + * Derived from public domain C code by Daniel J. Bernstein djb@cr.yp.to + * + * More information about curve25519 can be found here + * http://cr.yp.to/ecdh.html + * + * djb's sample implementation of curve25519 is written in a special assembly + * language called qhasm and uses the floating point registers. + * + * This is, almost, a clean room reimplementation from the curve25519 paper. It + * uses many of the tricks described therein. Only the crecip function is taken + * from the sample implementation. + */ + + +
+ +
+
+ fontconfig, version 2.12.1 +
+ COPYING + + +Copyright © 2000,2001,2002,2003,2004,2006,2007 Keith Packard +Copyright © 2005 Patrick Lam +Copyright © 2009 Roozbeh Pournader +Copyright © 2008,2009 Red Hat, Inc. +Copyright © 2008 Danilo Šegan +Copyright © 2012 Google, Inc. + + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation, and that the name of the author(s) not be used in +advertising or publicity pertaining to distribution of the software without +specific, written prior permission. The authors make no +representations about the suitability of this software for any purpose. It +is provided "as is" without express or implied warranty. + +THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, +DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + +
+
+ +
+ libssd, version 0.8.3 +
+ COPYING + + +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ + +Files: + * +Copyright: + Copyright © 2004-2006, 2008-2015 Guillem Jover guillem@hadrons.org +License: BSD-3-clause + +Files: + man/arc4random.3 + man/tree.3 +Copyright: + Copyright 1997 Niels Provos provos@physnet.uni-hamburg.de + All rights reserved. +License: BSD-4-clause-Niels-Provos + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed by Niels Provos. + 4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: + man/getprogname.3 +Copyright: + Copyright © 2001 Christopher G. Demetriou + All rights reserved. +License: BSD-4-clause-Christopher-G-Demetriou + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. All advertising materials mentioning features or use of this software + must display the following acknowledgement: + This product includes software developed for the + NetBSD Project. See http://www.netbsd.org/ for + information about NetBSD. + 4. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: + include/bsd/err.h + include/bsd/stdlib.h + include/bsd/unistd.h + src/bsd_getopt.c + src/err.c + src/fgetln.c + src/progname.c +Copyright: + Copyright © 2005, 2008-2012 Guillem Jover guillem@hadrons.org + Copyright © 2005 Hector Garcia Alvarez + Copyright © 2005 Aurelien Jarno + Copyright © 2006 Robert Millan +License: BSD-3-clause + +Files: + include/bsd/netinet/ip_icmp.h + include/bsd/sys/bitstring.h + include/bsd/sys/queue.h + include/bsd/timeconv.h + include/bsd/vis.h + man/bitstring.3 + man/explicit_bzero.3 + man/fgetln.3 + man/fgetwln.3 + man/funopen.3bsd + man/getbsize.3 + man/heapsort.3 + man/nlist.3 + man/queue.3bsd + man/radixsort.3 + man/reallocarray.3 + man/reallocf.3 + man/setmode.3 + man/strmode.3 + man/strnstr.3 + man/unvis.3 + man/vis.3 + man/wcslcpy.3 + src/getbsize.c + src/heapsort.c + src/merge.c + src/nlist.c + src/radixsort.c + src/setmode.c + src/strmode.c + src/strnstr.c + src/unvis.c + src/vis.c +Copyright: + Copyright © 1980, 1982, 1986, 1989-1994 + The Regents of the University of California. All rights reserved. + Copyright © 2001 Mike Barcroft mike@FreeBSD.org + . + Some code is derived from software contributed to Berkeley by + the American National Standards Committee X3, on Information + Processing Systems. + . + Some code is derived from software contributed to Berkeley by + Peter McIlroy. + . + Some code is derived from software contributed to Berkeley by + Ronnie Kon at Mindcraft Inc., Kevin Lew and Elmer Yglesias. + . + Some code is derived from software contributed to Berkeley by + Dave Borman at Cray Research, Inc. + . + Some code is derived from software contributed to Berkeley by + Paul Vixie. + . + Some code is derived from software contributed to Berkeley by + Chris Torek. + . + Copyright © UNIX System Laboratories, Inc. + All or some portions of this file are derived from material licensed + to the University of California by American Telephone and Telegraph + Co. or Unix System Laboratories, Inc. and are reproduced herein with + the permission of UNIX System Laboratories, Inc. +License: BSD-3-clause-Regents + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. Neither the name of the University nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +Files: + include/bsd/libutil.h +Copyright: + Copyright © 1996 Peter Wemm peter@FreeBSD.org. + All rights reserved. + Copyright © 2002 Networks Associates Technology, Inc. + All rights reserved. +License: BSD-3-clause-Peter-Wemm + Redistribution and use in source and binary forms, with or without + modification, is permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +Files: + man/setproctitle.3 +Copyright: + Copyright © 1995 Peter Wemm peter@FreeBSD.org + All rights reserved. +License: BSD-5-clause-Peter-Wemm + Redistribution and use in source and binary forms, with or without + modification, is permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice immediately at the beginning of the file, without modification, + this list of conditions, and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. This work was done expressly for inclusion into FreeBSD. Other use + is permitted provided this notation is included. + 4. Absolutely no warranty of function or purpose is made by the author + Peter Wemm. + 5. Modifications may be freely made to this file providing the above + conditions are met. + +Files: + include/bsd/stringlist.h + man/fmtcheck.3 + man/humanize_number.3 + man/stringlist.3 + src/fmtcheck.c + src/humanize_number.c + src/stringlist.c +Copyright: + Copyright © 1994, 1997-2000, 2002, 2008 The NetBSD Foundation, Inc. + All rights reserved. + . + Some code was contributed to The NetBSD Foundation by Allen Briggs. + . + Some code was contributed to The NetBSD Foundation by Luke Mewburn. + . + Some code is derived from software contributed to The NetBSD Foundation + by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, + NASA Ames Research Center, by Luke Mewburn and by Tomas Svensson. + . + Some code is derived from software contributed to The NetBSD Foundation + by Julio M. Merino Vidal, developed as part of Google's Summer of Code + 2005 program. + . + Some code is derived from software contributed to The NetBSD Foundation + by Christos Zoulas. +License: BSD-2-clause-NetBSD + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +Files: + include/bsd/sys/endian.h + man/expand_number.3 + man/closefrom.3 + man/flopen.3 + man/getpeereid.3 + man/pidfile.3 + src/expand_number.c + src/hash/sha512.h + src/hash/sha512c.c + src/pidfile.c + src/reallocf.c + src/timeconv.c +Copyright: + Copyright © 1998, M. Warner Losh imp@freebsd.org + All rights reserved. + . + Copyright © 2001 Dima Dorfman. + All rights reserved. + . + Copyright © 2001 FreeBSD Inc. + All rights reserved. + . + Copyright © 2002 Thomas Moestl tmm@FreeBSD.org + All rights reserved. + . + Copyright © 2005 Pawel Jakub Dawidek pjd@FreeBSD.org + All rights reserved. + . + Copyright © 2005 Colin Percival + All rights reserved. + . + Copyright © 2007 Eric Anderson anderson@FreeBSD.org + Copyright © 2007 Pawel Jakub Dawidek pjd@FreeBSD.org + All rights reserved. + . + Copyright © 2007 Dag-Erling Coïdan Smørgrav + All rights reserved. + . + Copyright © 2009 Advanced Computing Technologies LLC + Written by: John H. Baldwin jhb@FreeBSD.org + All rights reserved. + . + Copyright © 2011 Guillem Jover guillem@hadrons.org +License: BSD-2-clause + +Files: + src/flopen.c +Copyright: + Copyright © 2007 Dag-Erling Coïdan Smørgrav + All rights reserved. +License: BSD-2-clause-verbatim + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer + in this position and unchanged. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + +Files: + include/bsd/sys/tree.h + man/fparseln.3 + src/fparseln.c +Copyright: + Copyright © 1997 Christos Zoulas. + All rights reserved. + . + Copyright © 2002 Niels Provos provos@citi.umich.edu + All rights reserved. +License: BSD-2-clause-author + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: + include/bsd/readpassphrase.h + man/readpassphrase.3 + man/strlcpy.3 + man/strtonum.3 + src/arc4random.c + src/arc4random_openbsd.h + src/arc4random_uniform.c + src/arc4random_unix.h + src/closefrom.c + src/getentropy_aix.c + src/getentropy_bsd.c + src/getentropy_hpux.c + src/getentropy_hurd.c + src/getentropy_linux.c + src/getentropy_osx.c + src/getentropy_solaris.c + src/readpassphrase.c + src/reallocarray.c + src/strlcat.c + src/strlcpy.c + src/strtonum.c +Copyright: + Copyright © 2004 Ted Unangst and Todd Miller + All rights reserved. + . + Copyright © 1996 David Mazieres dm@uun.org + Copyright © 1998, 2000-2002, 2004-2005, 2007, 2010, 2012-2014 + Todd C. Miller Todd.Miller@courtesan.com + Copyright © 2004 Ted Unangst + Copyright © 2008 Damien Miller djm@openbsd.org + Copyright © 2008 Otto Moerbeek otto@drijf.net + Copyright © 2013 Markus Friedl markus@openbsd.org + Copyright © 2014 Bob Beck beck@obtuse.com + Copyright © 2014 Brent Cook bcook@openbsd.org + Copyright © 2014 Pawel Jakub Dawidek pjd@FreeBSD.org + Copyright © 2014 Theo de Raadt deraadt@openbsd.org + Copyright © 2015 Michael Felt aixtools@gmail.com + Copyright © 2015 Guillem Jover guillem@hadrons.org +License: ISC + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Files: + src/inet_net_pton.c +Copyright: + Copyright © 1996 by Internet Software Consortium. +License: ISC-Original + Permission to use, copy, modify, and distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + . + THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. + +Files: + src/setproctitle.c +Copyright: + Copyright © 2010 William Ahern + Copyright © 2012 Guillem Jover guillem@hadrons.org +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the + following conditions: + . + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: + include/bsd/md5.h + src/hash/md5.c +Copyright: + None +License: public-domain-Colin-Plumb + This code implements the MD5 message-digest algorithm. + The algorithm is due to Ron Rivest. This code was + written by Colin Plumb in 1993, no copyright is claimed. + This code is in the public domain; do with it what you wish. + +Files: + src/explicit_bzero.c + src/chacha_private.h +Copyright: + None +License: public-domain + Public domain. + +Files: + man/mdX.3bsd + src/hash/md5hl.c + src/hash/helper.c +Copyright: + None +License: Beerware + "THE BEER-WARE LICENSE" (Revision 42): + phk@login.dkuug.dk wrote this file. As long as you retain this notice you + can do whatever you want with this stuff. If we meet some day, and you think + this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + 3. The name of the author may not be used to endorse or promote products + derived from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL + THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: BSD-2-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + +
+
+ +
+ pixman, version 0.34.0 +
+ COPYING + + +The following is the MIT license, agreed upon by most contributors. +Copyright holders of new code should use this license statement where +possible. They may also add themselves to the list below. + +/* + * Copyright 1987, 1988, 1989, 1998 The Open Group + * Copyright 1987, 1988, 1989 Digital Equipment Corporation + * Copyright 1999, 2004, 2008 Keith Packard + * Copyright 2000 SuSE, Inc. + * Copyright 2000 Keith Packard, member of The XFree86 Project, Inc. + * Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc. + * Copyright 2004 Nicholas Miell + * Copyright 2005 Lars Knoll and Zack Rusin, Trolltech + * Copyright 2005 Trolltech AS + * Copyright 2007 Luca Barbato + * Copyright 2008 Aaron Plattner, NVIDIA Corporation + * Copyright 2008 Rodrigo Kumpera + * Copyright 2008 André Tupinambá + * Copyright 2008 Mozilla Corporation + * Copyright 2008 Frederic Plourde + * Copyright 2009, Oracle and/or its affiliates. All rights reserved. + * Copyright 2009, 2010 Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + + +
+
+ install.sh + + +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2013-12-25.23; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + + +
+
+ +
+ sqlite3, version 3.17.0 +
+ sqlite3ext.h + + +/* +** 2006 June 7 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* + +
+
+ +
+ squashfs-tools, version 4.3 +
+ squashfs_fs.h + + +/* + * Squashfs + * + * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 + * Phillip Lougher phillip@lougher.demon.co.uk + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2, + * or (at your option) any later version. + * + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * squashfs_fs.h + */ + + +
+
+ +
+ tzcode, version 2017b +
+ LICENSE + + +With a few exceptions, all files in the tz code and data (including +this one) are in the public domain. The exceptions are date.c, +newstrftime.3, and strftime.c, which contain material derived from BSD +and which use the BSD 3-clause license. + + +
+
+ +
+ tzdata, version 2017b +
+ LICENSE + + +With a few exceptions, all files in the tz code and data (including +this one) are in the public domain. The exceptions are date.c, +newstrftime.3, and strftime.c, which contain material derived from BSD +and which use the BSD 3-clause license. + + +
+
+ +
+ xz, version 5.2.3 +
+ COPYING + + +XZ Utils Licensing +================== + + Different licenses apply to different files in this package. Here + is a rough summary of which licenses apply to which parts of this + package (but check the individual files to be sure!): + + - liblzma is in the public domain. + + - xz, xzdec, and lzmadec command line tools are in the public + domain unless GNU getopt_long had to be compiled and linked + in from the lib directory. The getopt_long code is under + GNU LGPLv2.1+. + + - The scripts to grep, diff, and view compressed files have been + adapted from gzip. These scripts and their documentation are + under GNU GPLv2+. + + - All the documentation in the doc directory and most of the + XZ Utils specific documentation files in other directories + are in the public domain. + + - Translated messages are in the public domain. + + - The build system contains public domain files, and files that + are under GNU GPLv2+ or GNU GPLv3+. None of these files end up + in the binaries being built. + + - Test files and test code in the tests directory, and debugging + utilities in the debug directory are in the public domain. + + - The extra directory may contain public domain files, and files + that are under various free software licenses. + + You can do whatever you want with the files that have been put into + the public domain. If you find public domain legally problematic, + take the previous sentence as a license grant. If you still find + the lack of copyright legally problematic, you have too many + lawyers. + + As usual, this software is provided "as is", without any warranty. + + If you copy significant amounts of public domain code from XZ Utils + into your project, acknowledging this somewhere in your software is + polite (especially if it is proprietary, non-free software), but + naturally it is not legally required. Here is an example of a good + notice to put into "about box" or into documentation: + + This software includes code from XZ Utils http://tukaani.org/xz/. + + The following license texts are included in the following files: + - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 + - COPYING.GPLv2: GNU General Public License version 2 + - COPYING.GPLv3: GNU General Public License version 3 + + Note that the toolchain (compiler, linker etc.) may add some code + pieces that are copyrighted. Thus, it is possible that e.g. liblzma + binary wouldn't actually be in the public domain in its entirety + even though it contains no copyrighted code from the XZ Utils source + package. + + If you have questions, don't hesitate to ask the author(s) for more + information. + + +
+
+
+
diff --git a/doc/book-enea-nfv-access-open-source/swcomp.mk b/doc/book-enea-nfv-access-open-source/swcomp.mk new file mode 100644 index 0000000..7f1537f --- /dev/null +++ b/doc/book-enea-nfv-access-open-source/swcomp.mk @@ -0,0 +1,10 @@ +# Component build specification + +# Version of THIS book +BOOK_VER ?= $(REL_VER)-dev + +DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) + +BOOKPACKAGES := book-enea-nfv-access-open-source +BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access Open Source Report" +BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) diff --git a/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml b/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml deleted file mode 100644 index daafadf..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/benchmarks.xml +++ /dev/null @@ -1,1637 +0,0 @@ - - - - Benchmarks - -
- Hardware Setup - - The following table describes all the needed prequisites for an apt - hardware setup: - - - Hardware Setup - - - - - - - Item - - Description - - - - - - Server Platform - - Supermicro X10SDV-4C-TLN2F - http://www.supermicro.com/products/motherboard/xeon/d/X10SDV-4C-TLN2F.cfm - - - - ARCH - - x86-64 - - - - Processor - - 1 x Intel Xeon D-1521 (Broadwell), 4 cores, 8 - hyper-threaded cores per processor - - - - CPU freq - - 2.40 GHz - - - - RAM - - 16GB - - - - Network - - Dual integrated 10G ports - - - - Storage - - Samsung 850 Pro 128GB SSD - - - -
- - Generic tests configuration: - - - - All tests use one port, one core and one Rx/TX queue for fast - path traffic. - - -
- -
- BIOS Settings - - The table below details the BIOS settings for which the default - values were changed when doing performance measurements. - - - BIOS Settings - - - - - - - Menu Path - - Setting Name - - Enea NFV Access value - - BIOS Default value - - - - - - CPU Configuration - - Direct Cache Access (DCA) - - Enable - - Auto - - - - CPU Configuration / Advanced Power Management - Configuration - - EIST (P-States) - - Disable - - Enable - - - - CPU Configuration / Advanced Power Management Configuration - / CPU C State Control - - CPU C State - - Disable - - Enable - - - - CPU Configuration / Advanced Power Management Configuration - / CPU Advanced PM Turning / Energy Perf BIAS - - Energy Performance Tuning - - Disable - - Enable - - - - CPU Configuration / Advanced Power Management Configuration - / CPU Advanced PM Turning / Energy Perf BIAS - - Energy Performance BIAS Setting - - Performance - - Balanced Performance - - - - CPU Configuration / Advanced Power Management Configuration - / CPU Advanced PM Turning / Energy Perf BIAS - - Power/Performance Switch - - Disable - - Enable - - - - CPU Configuration / Advanced Power Management Configuration - / CPU Advanced PM Turning / Program PowerCTL _MSR - - Energy Efficient Turbo - - Disable - - Enable - - - - Chipset Configuration / North Bridge / IIO - Configuration - - EV DFX Features - - Enable - - Disable - - - - Chipset Configuration / North Bridge / Memory - Configuration - - Enforce POR - - Disable - - Enable - - - - Chipset Configuration / North Bridge / Memory - Configuration - - Memory Frequency - - 2400 - - Auto - - - - Chipset Configuration / North Bridge / Memory - Configuration - - DRAM RAPL Baseline - - Disable - - DRAM RAPL Mode 1 - - - -
-
- -
- Use Cases - -
- Docker related benchmarks - -
- Forward traffic in Docker - - Benchmarking traffic forwarding using testpmd in a Docker - container. - - Pktgen is used to generate UDP traffic that will reach testpmd, - running in a Docker image. It will then be forwarded back to source on - the return trip (Forwarding). - - This test measures: - - - - pktgen TX, RX in packets per second (pps) and Mbps - - - - testpmd TX, RX in packets per second (pps) - - - - divide testpmd RX / pktgen TX in pps to obtain throughput in - percentages (%) - - - -
- Test Setup for Target 1 - - Start by following the steps below: - - SSD boot using the following grub.cfg - entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 - - Kill unnecessary services:killall ovsdb-server ovs-vswitchd -rm -rf /etc/openvswitch/* -mkdir -p /var/run/openvswitchMount hugepages and configure - DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0Run - pktgen:cd /usr/share/apps/pktgen/ -./pktgen -c 0xF -n 1 -- -P -m "[3:2].0"In the pktgen console - run:strTo change framesize for - pktgen, from [64, 128, 256, 512]:set 0 size &lt;number&gt; -
- -
- Test Setup for Target 2 - - Start by following the steps below: - - SSD boot using the following grub.cfg - entry: - - linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 - - It is expected to have Docker/guest image on target. Configure - the OVS bridge:# OVS old config clean-up -killall ovsdb-server ovs-vswitchd -rm -rf /etc/openvswitch/* -mkdir -p /var/run/openvswitch - -# Mount hugepages and bind interfaces to dpdk -mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0 - -# configure openvswitch with DPDK -export DB_SOCK=/var/run/openvswitch/db.sock -ovsdb-tool create /etc/openvswitch/conf.db / -/usr/share/openvswitch/vswitch.ovsschema -ovsdb-server --remote=punix:$DB_SOCK / ---remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach -ovs-vsctl --no-wait init -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 -ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true -ovs-vswitchd unix:$DB_SOCK --pidfile --detach / ---log-file=/var/log/openvswitch/ovs-vswitchd.log - -ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev -ovs-vsctl add-port ovsbr0 vhost-user1 / --- set Interface vhost-user1 type=dpdkvhostuser ofport_request=1 -ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface / -dpdk0 type=dpdk options:dpdk-devargs=0000:03:00.0 ofport_request=2 - -# configure static flows -ovs-ofctl del-flows ovsbr0 -ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 -ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a - Docker container:docker import enea-image-virtualization-guest-qemux86-64.tar.gz el7_guestStart - the Docker container:docker run -it --rm -v /var/run/openvswitch/:/var/run/openvswitch/ / --v /mnt/huge:/mnt/huge el7_guest /bin/bashStart the testpmd - application in Docker:testpmd -c 0x30 -n 2 --file-prefix prog1 --socket-mem 512 --no-pci / ---vdev=virtio_user0,path=/var/run/openvswitch/vhost-user1 / --d /usr/lib/librte_pmd_virtio.so.1.1 -- --burst 64 --disable-hw-vlan / ---disable-rss -i --portmask=0x1 --coremask=0x20 --nb-cores=1 / ---rxq=1 --txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedTo - start traffic forwarding, run the - following command in testpmd CLI:startTo - start traffic but in termination - mode (no traffic sent on TX), run following command in testpmd - CLI:set fwd rxonly -start - Results in forwarding mode - - - - - Bytes - - pktgen pps - TX - - pktgen MBits/s - TX - - pktgen pps - RX - - pktgen MBits/s - RX - - testpmd pps - RX - - testpmd pps - TX - - throughput - (%) - - - - 64 - - 14890993 - - 10006 - - 7706039 - - 5178 - - 7692807 - - 7692864 - - 51.74% - - - - 128 - - 8435104 - - 9999 - - 7689458 - - 9060 - - 7684962 - - 7684904 - - 90.6% - - - - 256 - - 4532384 - - 9999 - - 4532386 - - 9998 - - 4532403 - - 4532403 - - 99.9% - - - -
- Results in termination mode - - - - - Bytes - - pktgen pps - TX - - testpmd pps - RX - - throughput - (%) - - - - 64 - - 14890993 - - 7330403 - - 49,2% - - - - 128 - - 8435104 - - 7330379 - - 86,9% - - - - 256 - - 4532484 - - 4532407 - - 99,9% - - - -
-
-
- -
- Forward traffic from Docker to another Docker on the same - host - - Benchmark a combo test using testpmd running in two Docker - instances, one which Forwards traffic to the second one, which - Terminates it. - - Packets are generated with pktgen and TX-d to the first testpmd, - which will RX and Forward them to the second testpmd, which will RX - and terminate them. - - Measurements are made in: - - - - pktgen TX in pps and Mbits/s - - - - testpmd TX and RX pps in Docker1 - - - - testpmd RX pps in Docker2 - - - - Throughput found as a percent, by dividing Docker2 testpmd RX pps by pktgen - TX pps. - -
- Test Setup for Target 1 - - Start by following the steps below: - - SSD boot using the following grub.cfg - entry: - - linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 - - Configure DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0Run - pktgen:cd /usr/share/apps/pktgen/ -./pktgen -c 0xF -n 1 -- -P -m "[3:2].0"Choose one of the - values from [64, 128, 256, 512] to change the packet - size:set 0 size <number> -
- -
- Test Setup for Target 2 - - Start by following the steps below: - - SSD boot using the following grub.cfg - entry: - - linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 / -iommu=pt intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 - - killall ovsdb-server ovs-vswitchd -rm -rf /etc/openvswitch/* -mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0Configure the OVS - bridge:export DB_SOCK=/var/run/openvswitch/db.sock -ovsdb-tool create /etc/openvswitch/conf.db / -/usr/share/openvswitch/vswitch.ovsschema -ovsdb-server --remote=punix:$DB_SOCK / ---remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach -ovs-vsctl --no-wait init -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 -ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xcc -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true -ovs-vswitchd unix:$DB_SOCK --pidfile --detach / ---log-file=/var/log/openvswitch/ovs-vswitchd.log -ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev -ovs-vsctl add-port ovsbr0 vhost-user1 -- set Interface / -vhost-user1 type=dpdkvhostuser ofport_request=1 -ovs-vsctl add-port ovsbr0 vhost-user2 -- set Interface / -vhost-user2 type=dpdkvhostuser ofport_request=2 -ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 / -type=dpdk options:dpdk-devargs=0000:03:00.0 ofport_request=3 -ovs-ofctl del-flows ovsbr0 -ovs-ofctl add-flow ovsbr0 in_port=3,action=output:2 -ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Import a - Docker container:docker import enea-image-virtualization-guest-qemux86-64.tar.gz el7_guestStart - the first Docker:docker run -it --rm --cpuset-cpus=4,5 / --v /var/run/openvswitch/:/var/run/openvswitch/ / --v /mnt/huge:/mnt/huge el7_guest /bin/bashStart the testpmd - application in Docker1:testpmd -c 0x30 -n 2 --file-prefix prog1 --socket-mem 512 --no-pci / ---vdev=virtio_user0,path=/var/run/openvswitch/vhost-user1 / --d /usr/lib/librte_pmd_virtio.so.1.1 -- --burst 64 --disable-hw-vlan / ---disable-rss -i --portmask=0x1 --coremask=0x20 --nb-cores=1 / ---rxq=1 --txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedConfigure - it in termination mode:set fwd rxonlyRun - the testpmd application:startOpen a - new console to the host and start the second Docker - instance:docker run -it --rm --cpuset-cpus=0,1 -v /var/run/openvswitch/:/var/run/openvswitch/ / --v /mnt/huge:/mnt/huge el7_guest /bin/bashIn the second - container start testpmd:testpmd -c 0x0F --file-prefix prog2 --socket-mem 512 --no-pci / ---vdev=virtio_user0,path=/var/run/openvswitch/vhost-user2 / --d /usr/lib/librte_pmd_virtio.so.1.1 -- -i --disable-hw-vlanRun - the TestPmd application in the second Docker:testpmd -c 0x3 -n 2 --file-prefix prog2 --socket-mem 512 --no-pci / ---vdev=virtio_user0,path=/var/run/openvswitch/vhost-user2 / --d /usr/lib/librte_pmd_virtio.so.1.1 -- --burst 64 --disable-hw-vlan / ---disable-rss -i --portmask=0x1 --coremask=0x2 --nb-cores=1 --rxq=1 / ---txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedIn - the testpmd shell, run:startStart - pktgen traffic by running the following command in pktgen - CLI:start 0To record traffic - results:show port stats 0This - should be used in testpmd applications. - - - Results - - - - - Bytes - - Target 1 - - pktgen pps TX - - Target 2 - - (forwarding) testpmd pps RX - - Target 2 - - (forwarding) testpmd pps TX - - Target 2 - - (termination) testpmd pps RX - - - - 64 - - 14844628 - - 5643565 - - 3459922 - - 3457326 - - - - 128 - - 8496962 - - 5667860 - - 3436811 - - 3438918 - - - - 256 - - 4532372 - - 4532362 - - 3456623 - - 3457115 - - - - 512 - - 2367641 - - 2349450 - - 2349450 - - 2349446 - - - -
-
-
- -
- SR-IOV in in Docker - - PCI passthrough tests using pktgen and testpmd in Docker. - - pktgen[DPDK]Docker - PHY - Docker[DPDK] testpmd - - Measurements: - - - - RX packets per second in testpmd (with testpmd configured in - rxonly mode). - - - -
- Test Setup - - Boot Enea NFV Access Platform from SSD:linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable clocksource=tsc / -tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 processor.max_cstate=0 / -mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt intel_iommu=on hugepagesz=1GB / -hugepages=8 default_hugepagesz=1GB hugepagesz=2M hugepages=2048 / -vfio_iommu_type1.allow_unsafe_interrupts=1lAllow unsafe - interrupts:echo 1 > /sys/module/vfio_iommu_type1/parameters/allow_unsafe_interruptsConfigure - DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -dpdk-devbind.py --bind=ixgbe 0000:03:00.0 -ifconfig eno3 192.168.1.2 -echo 2 > /sys/class/net/eno3/device/sriov_numvfs -modprobe vfio-pci -dpdk-devbind.py --bind=vfio-pci 0000:03:10.0 -dpdk-devbind.py --bind=vfio-pci 0000:03:10.2Start two docker - containers:docker run --privileged -it --rm -v /mnt/huge:/mnt/huge/ / ---device /dev/vfio/vfio el7_guest /bin/bash -docker run --privileged -it --rm -v /mnt/huge:/mnt/huge/ / ---device /dev/vfio/vfio el7_guest /bin/bashIn the first - container start pktgen:cd /usr/share/apps/pktgen/ -./pktgen -c 0x1f -w 0000:03:10.0 -n 1 --file-prefix pg1 / ---socket-mem 1024 -- -P -m "[3:4].0"In the pktgen prompt set - the destination MAC address:set mac 0 XX:XX:XX:XX:XX:XX -strIn the second container start testpmd:testpmd -c 0x7 -n 1 -w 0000:03:10.2 -- -i --portmask=0x1 / ---txd=256 --rxd=256 --port-topology=chainedIn the testpmd - prompt set forwarding - rxonly:set fwd rxonly -start - Results - - - - - Bytes - - pktgen pps - TX - - testpmd pps - RX - - pktgen MBits/s - TX - - throughput - (%) - - - - 64 - - 14525286 - - 14190869 - - 9739 - - 97.7 - - - - 128 - - 8456960 - - 8412172 - - 10013 - - 99.4 - - - - 256 - - 4566624 - - 4526587 - - 10083 - - 99.1 - - - - 512 - - 2363744 - - 2348015 - - 10060 - - 99.3 - - - -
-
-
-
- -
- VM related benchmarks - -
- Forward/termination traffic in one VM - - Benchmarking traffic (UDP) forwarding and termination using - testpmd in a virtual machine. - - The Pktgen application is used to generate traffic that will - reach testpmd running on a virtual machine, and be forwarded back to - source on the return trip. With the same setup a second measurement - will be done with traffic termination in the virtual machine. - - This test case measures: - - - - pktgen TX, RX in packets per second (pps) and Mbps - - - - testpmd TX, RX in packets per second (pps) - - - - divide testpmd RX by - pktgen TX in pps to obtain the - throughput in percentages (%) - - - -
- Test Setup for Target 1 - - Start with the steps below: - - SSD boot using the following grub.cfg - entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1 - - Kill unnecessary services: killall ovsdb-server ovs-vswitchd -rm -rf /etc/openvswitch/* -mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0Run - pktgen:cd /usr/share/apps/pktgen/ -./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 / --w 0000:03:00.0 -- -P -m "[1:2].0"Set pktgen frame size to - use from [64, 128, 256, 512]:set 0 size 64 -
- -
- Test Setup for Target 2 - - Start by following the steps below: - - SSD boot using the following grub.cfg - entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Kill - unnecessary services: killall ovsdb-server ovs-vswitchd -rm -rf /etc/openvswitch/* -mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0Configure - OVS:export DB_SOCK=/var/run/openvswitch/db.sock -ovsdb-tool create /etc/openvswitch/conf.db / -/usr/share/openvswitch/vswitch.ovsschema -ovsdb-server --remote=punix:$DB_SOCK / ---remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach -ovs-vsctl --no-wait init -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 -ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true -ovs-vswitchd unix:$DB_SOCK --pidfile --detach / ---log-file=/var/log/openvswitch/ovs-vswitchd.log - -ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev -ovs-vsctl add-port ovsbr0 vhost-user1 / --- set Interface vhost-user1 type=dpdkvhostuser -- set Interface / -vhost-user1 ofport_request=2 -ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 / -type=dpdk options:dpdk-devargs=0000:03:00.0 / --- set Interface dpdk0 ofport_request=1 -chmod 777 /var/run/openvswitch/vhost-user1 - -ovs-ofctl del-flows ovsbr0 -ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 -ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1Launch - QEMU:taskset -c 0,1 qemu-system-x86_64 -cpu host,+invtsc,migratable=no / --M q35 -smp cores=2,sockets=1 -vcpu 0,affinity=0 -vcpu 1,affinity=1 / --enable-kvm -nographic -realtime mlock=on -kernel /mnt/qemu/bzImage / --drive file=/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4,/ -if=virtio,format=raw -m 4096 -object memory-backend-file,id=mem,/ -size=4096M,mem-path=/mnt/huge,share=on -numa node,memdev=mem / --mem-prealloc -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 / --netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce / --device virtio-net-pci,mac=52:54:00:00:00:01,netdev=mynet1,/ -mrg_rxbuf=on,rx_queue_size=1024,csum=off,gso=off,guest_tso4=off,/ -guest_tso6=off,guest_ecn=off -append 'root=/dev/vda console=ttyS0 / -hugepagesz=2M hugepages=1024 isolcpus=1 nohz_full=1 rcu_nocbs=1 / -irqaffinity=0 rcu_nocb_poll intel_pstate=disable intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0'Inside QEMU, - configure DPDK: mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:00:02.0Inside QEMU, run - testpmd: testpmd -c 0x3 -n 2 -d librte_pmd_virtio.so.1.1 / --- --burst 64 --disable-hw-vlan --disable-rss -i --portmask=0x1 / ---coremask=0x2 --nb-cores=1 --rxq=1 --txq=1 --txd=512 --rxd=512 / ---txqflags=0xf00 --port-topology=chainedFor the Forwarding test, start testpmd - directly:startFor the Termination test, set testpmd to only - receive, then start it:set fwd rxonly -startOn target 1, you may start pktgen traffic - now:start 0On target 2, use this - command to refresh the testpmd display and note the highest - values:show port stats 0To stop - traffic from pktgen, in order to choose a different frame - size:stop 0To clear numbers in - testpmd:clear port stats -show port stats 0 - Results in forwarding mode - - - - - Bytes - - pktgen pps - RX - - pktgen pps - TX - - testpmd pps - RX - - testpmd pps - TX - - pktgen MBits/s - RX - - pktgen MBits/s - TX - - throughput - (%) - - - - 64 - - 7755769 - - 14858714 - - 7755447 - - 7755447 - - 5207 - - 9984 - - 52.2 - - - - 128 - - 7714626 - - 8435184 - - 7520349 - - 6932520 - - 8204 - - 9986 - - 82.1 - - - - 256 - - 4528847 - - 4528854 - - 4529030 - - 4529034 - - 9999 - - 9999 - - 99.9 - - - -
- Results in termination mode - - - - - Bytes - - pktgen pps - TX - - testpmd pps - RX - - pktgen MBits/s - TX - - throughput - (%) - - - - 64 - - 15138992 - - 7290663 - - 10063 - - 48.2 - - - - 128 - - 8426825 - - 6902646 - - 9977 - - 81.9 - - - - 256 - - 4528957 - - 4528912 - - 9999 - - 100 - - - -
-
-
- -
- Forward traffic between two VMs - - Benchmark a combo test using two virtual machines, the first - with traffic forwarding to the second, which terminates it. - - Measurements are made in: - - - - pktgen TX in pps and Mbits/s - - - - testpmd TX and RX pps in VM1 - - - - testpmd RX pps in VM2 - - - - throughput in percents, by dividing - VM2 testpmd RX pps by pktgen TX - pps - - - -
- Test Setup for Target 1 - - Start by doing the following: - - SSD boot using the following grub.cfg - entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Kill - Services:killall ovsdb-server ovs-vswitchd -rm -rf /etc/openvswitch/* -mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0Run - pktgen:cd /usr/share/apps/pktgen/ -./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 / --w 0000:03:00.0 -- -P -m "[1:2].0"Set pktgen frame size to - use from [64, 128, 256, 512]:set 0 size 64 -
- -
- Test Setup for Target 2 - - Start by doing the following: - - SSD boot using the following grub.cfg - entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Kill - Services:killall ovsdb-server ovs-vswitchd -rm -rf /etc/openvswitch/* -mkdir -p /var/run/openvswitchConfigure DPDK:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:03:00.0Configure - OVS:export DB_SOCK=/var/run/openvswitch/db.sock -ovsdb-tool create /etc/openvswitch/conf.db / -/usr/share/openvswitch/vswitch.ovsschema -ovsdb-server --remote=punix:$DB_SOCK / ---remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach -ovs-vsctl --no-wait init -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x10 -ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem=2048 -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true -ovs-vswitchd unix:$DB_SOCK --pidfile / ---detach --log-file=/var/log/openvswitch/ovs-vswitchd.log - - -ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev -ovs-vsctl add-port ovsbr0 dpdk0 / --- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:03:00.0 ofport_request=1 -ovs-vsctl add-port ovsbr0 vhost-user1 / --- set Interface vhost-user1 type=dpdkvhostuser ofport_request=2 -ovs-vsctl add-port ovsbr0 vhost-user2 / --- set Interface vhost-user2 type=dpdkvhostuser ofport_request=3 - - -ovs-ofctl del-flows ovsbr0 -ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 -ovs-ofctl add-flow ovsbr0 in_port=2,action=output:3Launch - first QEMU instance, VM1:taskset -c 0,1 qemu-system-x86_64 -cpu host,+invtsc,migratable=no -M q35 / --smp cores=2,sockets=1 -vcpu 0,affinity=0 -vcpu 1,affinity=1 -enable-kvm / --nographic -realtime mlock=on -kernel /home/root/qemu/bzImage / --drive file=/home/root/qemu/enea-image-virtualization-guest-qemux86-64.ext4,/ -if=virtio,format=raw -m 2048 -object memory-backend-file,id=mem,/ -size=2048M,mem-path=/mnt/huge,share=on -numa node,memdev=mem / --mem-prealloc -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 / --netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce / --device virtio-net-pci,mac=52:54:00:00:00:01,netdev=mynet1,/ -mrg_rxbuf=on,rx_queue_size=1024,csum=off,gso=off,guest_tso4=off,/ -guest_tso6=off,guest_ecn=off -append 'root=/dev/vda console=ttyS0 / -hugepagesz=2M hugepages=512 isolcpus=1 nohz_full=1 rcu_nocbs=1 / -irqaffinity=0 rcu_nocb_poll intel_pstate=disable intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0'Connect to - Target 2 through a new SSH session and run a second QEMU instance - (to get its own console, separate from instance VM1). We shall call - this VM2:taskset -c 4,5 qemu-system-x86_64 -cpu host,+invtsc,migratable=no / --M q35 -smp cores=2,sockets=1 -vcpu 0,affinity=4 -vcpu 1,affinity=5 / --enable-kvm -nographic -realtime mlock=on -kernel /home/root/qemu2/bzImage / --drive file=/home/root/qemu2/enea-image-virtualization-guest-qemux86-64.ext4,/ -if=virtio,format=raw -m 2048 -object memory-backend-file,id=mem,size=2048M,/ -mem-path=/mnt/huge,share=on -numa node,memdev=mem -mem-prealloc / --chardev socket,id=char1,path=/var/run/openvswitch/vhost-user2 / --netdev type=vhost-user,id=mynet1,chardev=char1,vhostforce / --device virtio-net-pci,mac=52:54:00:00:00:02,netdev=mynet1,/ -mrg_rxbuf=on,rx_queue_size=1024,csum=off,gso=off,guest_tso4=off,/ -guest_tso6=off,guest_ecn=off -append 'root=/dev/vda console=ttyS0 / -hugepagesz=2M hugepages=512 isolcpus=1 nohz_full=1 rcu_nocbs=1 / -irqaffinity=0 rcu_nocb_poll intel_pstate=disable intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0'Configure DPDK - inside VM1:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:00:02.0Run testpmd inside - VM1:testpmd -c 0x3 -n 2 -d librte_pmd_virtio.so.1.1 / --- --burst 64 --disable-hw-vlan --disable-rss -i / ---portmask=0x1 --coremask=0x2 --nb-cores=1 --rxq=1 / ---txq=1 --txd=512 --rxd=512 --txqflags=0xf00 --port-topology=chainedStart - testpmd inside VM1:startConfigure - DPDK inside VM2:mkdir -p /mnt/huge -mount -t hugetlbfs nodev /mnt/huge -modprobe igb_uio -dpdk-devbind --bind=igb_uio 0000:00:02.0Run testpmd inside - VM2:testpmd -c 0x3 -n 2 -d librte_pmd_virtio.so.1.1 / --- --burst 64 --disable-hw-vlan --disable-rss -i --portmask=0x1 / ---coremask=0x2 --nb-cores=1 --rxq=1 --txq=1 --txd=512 / ---rxd=512 --txqflags=0xf00 --port-topology=chainedSet VM2 for - termination and start testpmd:set fwd rxonly -startOn target 1, start pktgen traffic:start 0Use - this command to refresh testpmd display in VM1 and VM2 and note the - highest values:show port stats 0To - stop traffic from pktgen, in order to choose a different frame - size:stop 0To clear numbers in - testpmd:clear port stats -show port stats 0For VM1, we record the stats relevant for - forwarding: - - - - RX, TX in pps - - - - Only Rx-pps and Tx-pps numbers are important here, they change - every time stats are displayed as long as there is traffic. Run the - command a few times and pick the best (maximum) values seen. - - For VM2, we record the stats relevant for termination: - - - - RX in pps (TX will be 0) - - - - For pktgen, we record only the TX side, because flow is - terminated, with no RX traffic reaching pktgen: - - - - TX in pps and Mbit/s - - - - - Results in forwarding mode - - - - - Bytes - - pktgen pps - TX - - VM1 testpmd pps - RX - - VM1 testpmd pps - TX - - VM2 testpmd pps - RX - - pktgen MBits/s - TX - - throughput - (%) - - - - 64 - - 14845113 - - 6826540 - - 5389680 - - 5383577 - - 9975 - - 36.2 - - - - 128 - - 8426683 - - 6825857 - - 5386971 - - 5384530 - - 9976 - - 63.9 - - - - 256 - - 4528894 - - 4507975 - - 4507958 - - 4532457 - - 9999 - - 100 - - - -
-
-
- -
- SR-IOV in Virtual Machines - - PCI passthrough tests using pktgen and testpmd in virtual - machines. - - pktgen[DPDK]VM - PHY - VM[DPDK] testpmd. - - Measurements: - - - - pktgen to testpmd in forwarding mode. - - - - pktgen to testpmd in termination mode. - - - -
- Test Setup - - SSD boot using the following grub.cfg - entry: linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp nohz_full=1-7 / -isolcpus=1-7 rcu-nocbs=1-7 rcu_nocb_poll intel_pstate=disable / -clocksource=tsc tsc=reliable nohpet nosoftlockup intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0 nmi_watchdog=0 iommu=pt / -intel_iommu=on hugepagesz=1GB hugepages=8 default_hugepagesz=1GB / -hugepagesz=2M hugepages=2048 vfio_iommu_type1.allow_unsafe_interrupts=1Stop - other services and mount hugepages: systemctl stop openvswitch -mkdir -p /mnt/huge -mount -t hugetlbfs hugetlbfs /mnt/hugeConfigure SR-IOV - interfaces:/usr/share/usertools/dpdk-devbind.py --bind=ixgbe 0000:03:00.0 -echo 2 > /sys/class/net/eno3/device/sriov_numvfs -ifconfig eno3 10.0.0.1 -modprobe vfio_pci -/usr/share/usertools/dpdk-devbind.py --bind=vfio-pci 0000:03:10.0 -/usr/share/usertools/dpdk-devbind.py --bind=vfio-pci 0000:03:10.2 -ip link set eno3 vf 0 mac 0c:c4:7a:E5:0F:48 -ip link set eno3 vf 1 mac 0c:c4:7a:BF:52:E7Launch two QEMU - instances: taskset -c 4,5 qemu-system-x86_64 -cpu host,+invtsc,migratable=no -M / -q35 -smp cores=2,sockets=1 -vcpu 0,affinity=4 -vcpu 1,affinity=5 -enable-kvm / --nographic -kernel /mnt/qemu/bzImage / --drive file=/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4,if=virtio,/ -format=raw -m 4096 -object memory-backend-file,id=mem,size=4096M,mem-path=/mnt/huge,/ -share=on -numa node,memdev=mem -mem-prealloc -device vfio-pci,host=03:10.0 / --append 'root=/dev/vda console=ttyS0 hugepagesz=2M hugepages=1024 / -isolcpus=1 nohz_full=1 rcu_nocbs=1 irqaffinity=0 rcu_nocb_poll / -intel_pstate=disable intel_idle.max_cstate=0 / -processor.max_cstate=0 mce=ignore_ce audit=0' - - -taskset -c 2,3 qemu-system-x86_64 -cpu host,+invtsc,migratable=no -M / -q35 -smp cores=2,sockets=1 -vcpu 0,affinity=2 -vcpu 1,affinity=3 -enable-kvm / --nographic -kernel /mnt/qemu/bzImage / --drive file=/mnt/qemu/enea-image2-virtualization-guest-qemux86-64.ext4,if=virtio,/ -format=raw -m 4096 -object memory-backend-file,id=mem,size=4096M,mem-path=/mnt/huge,/ -share=on -numa node,memdev=mem -mem-prealloc -device vfio-pci,host=03:10.2 / --append 'root=/dev/vda console=ttyS0 hugepagesz=2M hugepages=1024 / -isolcpus=1 nohz_full=1 rcu_nocbs=1 irqaffinity=0 rcu_nocb_poll / -intel_pstate=disable intel_idle.max_cstate=0 processor.max_cstate=0 / -mce=ignore_ce audit=0'In the first VM, mount hugepages and - start pktgen:mkdir -p /mnt/huge && \ -mount -t hugetlbfs hugetlbfs /mnt/huge -modprobe igb_uio -/usr/share/usertools/dpdk-devbind.py --bind=igb_uio 0000:00:03.0 -cd /usr/share/apps/pktgen -./pktgen -c 0x3 -- -P -m "1.0"In the pktgen console set the - MAC of the destination and start generating - packages:set mac 0 0C:C4:7A:BF:52:E7 -strIn the second VM, mount hugepages and start - testpmd:mkdir -p /mnt/huge && \ -mount -t hugetlbfs hugetlbfs /mnt/huge -modprobe igb_uio -/usr/share/usertools/dpdk-devbind.py --bind=igb_uio 0000:00:03.0 -testpmd -c 0x3 -n 2 -- -i --txd=512 --rxd=512 --port-topology=chained / ---eth-peer=0,0c:c4:7a:e5:0f:48In order to enable forwarding mode, in the testpmd console, - run:set fwd mac -startIn order to enable termination mode, in the testpmd console, - run:set fwd rxonly -start - Results in forwarding mode - - - - - Bytes - - VM1 pktgen pps - TX - - VM1 pktgen pps - RX - - VM2 testpmd - pps RX - - VM2 testpmd - pps RX - - - - 64 - - 7105645 - - 7103976 - - 7101487 - - 7101487 - - - - 128 - - 5722795 - - 5722252 - - 5704219 - - 5704219 - - - - 256 - - 3454075 - - 3455144 - - 3452020 - - 3452020 - - - - 512 - - 1847751 - - 1847751 - - 1847751 - - 1847751 - - - - 1024 - - 956214 - - 956214 - - 956214 - - 956214 - - - - 1500 - - 797174 - - 797174 - - 797174 - - 797174 - - - -
- Results in termination mode - - - - - Bytes - - VM1 pktgen pps - TX - - VM2 testpmd - RX - - - - 64 - - 14204580 - - 14205063 - - - - 128 - - 8424611 - - 8424611 - - - - 256 - - 4529024 - - 4529024 - - - - 512 - - 2348640 - - 2348640 - - - - 1024 - - 1197101 - - 1197101 - - - - 1500 - - 822244 - - 822244 - - - -
-
-
-
-
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/book.xml b/doc/book-enea-nfv-access-platform-guide/doc/book.xml deleted file mode 100644 index 9b0cc4a..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/book.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - <trademark class="registered">Enea</trademark> NFV Access Platform Guide - Release Version - - - - - - - - - - - - diff --git a/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml b/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml deleted file mode 100644 index 055de7c..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/container_virtualization.xml +++ /dev/null @@ -1,136 +0,0 @@ - - - - Container Virtualization - -
- Docker - - Docker is an open-source project that automates the deployment of - applications inside software containers, by providing an additional layer - of abstraction and automation of operating-system-level virtualization on - Linux. - - The software container mechanism uses resource isolation features - inside the Linux kernel, such as cgroups and kernel namespaces to allow - multiple containers to run within a single Linux instance, avoiding the - overhead of starting and maintaining virtual machines. - - Containers are lightweight and include everything needed to run - themselves: code, runtime, system tools, system libraries and settings. - The main advantage provided by containers is that the encapsulated - software is isolated from its surroundings. For example, differences - between development and staging environments can be kept separate in order - to reduce conflicts between teams running different software on the same - infrastructure. - - For a better understanding of what Docker is and how it works, the - official documentation provided on the Docker website should be consulted: - https://docs.docker.com/. - -
- Launching a Docker container - - Docker provides a hello-world container which checks whether your - system is running the daemon correctly. This container can be launched - by simply running: - - docker run hello-world - - If your installation is working correctly, the following message - should be outputted:Hello from Docker! -
- -
- Run an Enea NFV Access Platform guest image - - Enea NFV Access Platform guest images can run inside Docker as any - other container can. Before starting an Enea NFV Access Platform guest - image, a root filesystem has to be imported in Docker: - - docker import enea-linux-virtualization-guest-qemux86-64.tar.gz el7guest - - To check that the Docker image has been imported successfully, - run: - - docker images - - Finally, start an Enea NFV Access Platform container with - bash running as the shell, by running: - - docker run -it el7guest /bin/bash -
- -
- Attach external resources to Docker containers - - Any system resource present on the host machine can be attached or - accessed by a Docker container. - - Typically, if a file or folder on the host machine needs to be - attached to a container, that container should be launched with the - -v parameter. For example, to attach the - roots home folder to a container, the command line - for Docker should have the following format: - - docker run -it -v /home/root:/home/host_root/ el7guest /bin/bash - - To check that folders have been properly passed from the host to - the container, create a file in the source folder on the host root - filesystem and check for its existence inside the containers destination - location. - -
- Attach vhost file descriptors - - If OVS is running on the host and vhost file descriptors need to - be passed to the container, this can be done by either mapping the - folder where all the file descriptors are located or mapping the file - descriptor itself: - - - - Mapping the folder can be done as exemplified above: - - docker run -it --rm -v /var/run/openvswitch/:/var/run/openvswitch/ el7guest /bin/bash - - - - Mapping a file descriptor is done in a similar way, but the - -v flag needs to point directly to it: - - docker run -it --rm -v /var/run/openvswitch/vhost-user1 el7guest /bin/bash - - -
- -
- Attach hugepages mount folders - - Hugepages mount folders can also be accessed by a container - similarly to how a plain folder is mapped, as shown in 1.3. - - For example, if the host system has hugepages mounted in the - /mnt/huge location, a container can also access - hugepages by being launched with: - - docker run -it -v /mnt/huge el7guest /bin/bash -
- -
- Access the PCI bus - - If the host machine has multiple SRIOV instances created, a - container can access the instances by being given privileged access to - the host system. Unlike folders, PCI devices do not have to be mounted - explicitly in order to be accessed and will be available to the - container if the --privileged flag is passed to the - command line: - - docker run --privileged -it el7guest /bin/bash -
-
-
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml b/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml deleted file mode 100644 index e96dd80..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/dpdk.xml +++ /dev/null @@ -1,119 +0,0 @@ - - - - Data Plane Development Kit - - The Intel Data Plane Development Kit (DPDK) is a set of user-space - libraries and drivers that provides a programming framework for high-speed - packet processing applications. The DPDK includes a number of Poll Mode - Drivers that enable direct packet transfer between the physical NIC and - user-space without using interrupts, bypassing the Linux kernel network - stack entirely. - - In order to take advantage of DPDK, Linux huge - pages must be enabled in the system. The allocation of huge pages - should preferably be done at boot time by passing parameters on the kernel - command line. Add the following to the kernel boot parameters: - - default_hugepagesz=1GB hugepagesz=1GB hugepages=8 hugepagesz=2M hugepages=2048 - - For DPDK documentation, see http://dpdk.org/doc/guides-17.02/index.html - -
- Pktgen - - In addition to DPDK, Enea NFV Access Platform includes Pktgen, a - software traffic generator that is powered by the DPDK packet processing - framework. Pktgen can act as a transmitter or receiver and is capable of - generating 10Gbit wire rate traffic with 64 byte frames. - - Pktgen is installed in /usr/share/apps/pktgen/ - and needs to be executed from this directory. - - For Pktgen documentation, see http://pktgen-dpdk.readthedocs.io -
- -
- DPDK setup instructions - - The following setup instructions apply to both host and - guest. - - - - To make the hugepage memory available for DPDK, it must be - mounted: - - mkdir /mnt/huge -mount -t hugetlbfs nodev /mnt/huge - - - - Load the DPDK igb_uio kernel module: - - modprobe igb_uio - - - - Bind the device to the igb_uio driver: - - dpdk-devbind --bind=igb_uio <PCI device number>The - DPDK provides the dpdk-devbind tool to help binding/unbinding devices - from specific drivers. See http://dpdk.org/doc/guides-17.02/tools/devbind.html - for more information. - - - - To print the current status of all known network - interfaces:dpdk-devbind --status - - At this point the system is ready to run DPDK applications. -
- -
- DPDK example test setup - - This is a simple DPDK test setup using two boards connected - back-to-back. One board generates traffic using the Pktgen application, - and the other board runs the DPDK testpmd example to forward packets back - on the same interface. - - Pktgen [DPDK] - Board 1 PHY <--> Board 2 PHY - [DPDK] testpmd - - - - Setup DPDK on both boards, following the instructions in - [FIXME]: - - - - On board 1, start the Pktgen application: - - cd /usr/share/apps/pktgen/ -./pktgen -c 0x7 -n 4 --socket-mem 1024 -- -P -m "[1:2].0" - - In the Pktgen console, run: - - start 0 - - The Pktgen output will display the traffic configuration and - statistics. - - - - On board 2, start the testpmd application: - - testpmd -c 0x7 -n 4 -- --txd=512 --rxd=512 --port-topology=chained - - For more information, refer to the testpmd application user - guide: http://dpdk.org/doc/guides-17.02/testpmd_app_ug/index.html. - - -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_template.xml deleted file mode 100644 index 278ad71..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_template.xml +++ /dev/null @@ -1,151 +0,0 @@ - - -
- File with Parameters in the Book Auto-updated by ELFT - - - See the eltf_params_updated_template_howto_use.txt text - file for description of how to create the final eltf_params_updated.xml from this template and for - all REQUIREMENTS. Use the command - "make eltf" to extract a full list of all - ELTF variables, which always begins with ELTF_ and don't only rely on the - howto text file list! The plan is that ELTF will auto-update this when - needed. - - -
- Common Parameters - - A programlisting, ID - "eltf-prereq-apt-get-commands-host" - - ELTF_PL_HOST_PREREQ - - A programlisting, ID - "eltf-getting-repo-install-command" - - ELTF_PL_GET_REPO - - Several phrase elements, various IDs. Ensure EL_REL_VER is - correct also compared to the "previous" REL VER in pardoc-distro.xml - "prev_baseline". - - ELTF_EL_REL_VER - - ELTF_YOCTO_VER - - ELTF_YOCTO_NAME - - ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL - - ELTF_EL_DOWNLOAD_TXTURL - - A programlisting, ID "eltf-repo-cloning-enea-linux". Use - $MACHINE/default.xml as parameter, where MACHINE is one of the target - directory names in the manifest. - - ELTF_PL_CLONE_W_REPO - - A table with ONE row, only the row with ID - "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the - template.xml and in the updated.xml, set condition hidden on the - <row>, if eclipse is not in the release. - - - - - - Eclipse version ELTF_ECLIPSE_VERSION plus command line - development tools are included in this Enea Linux release. - - - - - - Below is one big section with title "Supported Targets with - Parameters". The entire section is included completely in the book via ID - "eltf-target-tables-section" and shall be LAST in the template. The - template contains ONE target subsection. COPY/APPEND it, if multiple - targets exist in the release and optionally add rows with additional - target parameters in each target subsection table. -
- -
- Supported Targets with Parameters - - The tables below describes the target(s) supported in this Enea - Linux release. - -
- MACHINE ELTF_T_MANIFEST_DIR - Information - - - - - - - - - - Target official name - - ELTF_T_NAME - - - - Architecture and Description - - ELTF_T_ARC_DESC - - - - Link to target datasheet - - See ELTF_T_DS_TXTURL - - - - Poky version - - ELTF_T_POKY_VER - - - - GCC version - - ELTF_T_GCC_VER - - - - Linux Kernel Version - - ELTF_T_KERN_VER - - - - Supported Drivers - - ELTF_T_DRIVERS - - - - Enea rpm folder for downloading RPM packages for this - target - - ELTF_T_EL_RPM_TXTURL - - - - -
- - -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated.xml deleted file mode 100644 index 31a251d..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated.xml +++ /dev/null @@ -1,165 +0,0 @@ - - -
- File with Parameters in the Book Auto-updated by ELFT - - - See the eltf_params_updated_template_howto_use.txt text - file for description of how to create the final eltf_params_updated.xml from this template and for - all REQUIREMENTS. Use the command - "make eltf" to extract a full list of all - ELTF variables, which always begins with ELTF_ and don't only rely on the - howto text file list! The plan is that ELTF will auto-update this when - needed. - - -
- Common Parameters - - A programlisting, ID - "eltf-prereq-apt-get-commands-host" - - # Host Ubuntu 14.04.5 LTS 64bit -sudo apt-get -y update -sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \ - texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ - make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ - libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ - libxml-parser-perl - - A programlisting, ID - "eltf-getting-repo-install-command" - - mkdir -p ~/bin -curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo -chmod a+x ~/bin/repo -export PATH=~/bin:$PATH - - Several phrase elements, various IDs. Ensure EL_REL_VER is - correct also compared to the "previous" REL VER in pardoc-distro.xml - "prev_baseline". - - 1.0 - - 2.1 - - krogoth - - http://www.yoctoproject.org/downloads/core/krogoth/21 - - https://linux.enea.com/6 - - A programlisting, ID "eltf-repo-cloning-enea-linux". Use - $MACHINE/default.xml as parameter, where MACHINE is one of the target - directory names in the manifest. - - mkdir enea-linux -cd enea-linux -repo init -u git://git.enea.com/linux/el_manifests-networking.git \ - -b refs/tags/EL6 -m $MACHINE/default.xml -repo sync - - A table with ONE row, only the row with ID - "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set - condition hidden if eclipse is not in the release. Do this both in - template.xml and updated.xml. - - - - - - Eclipse version 4.3 (Mars) plus command line development - tools are included in this Enea Linux release. - - - - - - Below is one big section with title "Supported Targets with - Parameters". The entire section is included completely in the book via ID - "eltf-target-tables-section" and shall be LAST in the template. The - template contains ONE target subsection. COPY/APPEND it, if multiple - targets exist in the release and optionally add rows with additional - target parameters in each target subsection table. -
- -
- Supported Targets with Parameters - - The tables below describes the target(s) supported in this Enea - Linux release. - -
- MACHINE p2041rdb - Information - - - - - - - - - - Target official name - - P2041RDB - - - - Architecture and Description - - Power, e500mc - - - - Link to target datasheet - - See link - to NXP's datasheet - - - - Poky version - - Git-commit-id: - 75ca53211488a3e268037a44ee2a7ac5c7181bd2 - - - - GCC version - - 5.3 - - - - Linux Kernel Version - - 3.12 - - - - Supported Drivers - - Ethernet, I2C, SPI, PCI Express, USB, Flash, - SD/SDHC/SDXC, RTC - - - - Enea rpm folder for downloading RPM packages for this - target - - https://linux.enea.com/6/p2041rgb/rpm - - - - -
-
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated_template_how_to_use.txt deleted file mode 100644 index 7f1d3cb..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/eltf_params_updated_template_how_to_use.txt +++ /dev/null @@ -1,320 +0,0 @@ -eltf_params_template_updated_howto_use.txt - -This is a way to collect all parameters for an Enea Linux release -in one parameter file, easy to automatically update by ELTF regularly. - -NOTE: Both the release info AND the open source books use parameters from - here, but the XML file is inside the release info book directory. - -NOTE: The manifest_conf.mk, or overridden by the environment variable - MANIFESTHASH, contains the full tag (or hashvalue) for downloading - the manifest when the books are built. The list of target - directories are fetched from the manifest into the book. - The eltf_params_updates.xml can all the time contain - the final next complete tag e.g. refs/tags/EL6 or similar - in the ELTF_PL_CLONE_W_REPO parameter command lines. - -The ordinary book XML files use xi:include statements to include elements -from this parameter file. The book XML files can thus be manually edited. -Before editing, you must run "make init". -Any other text in the template or updated.xml file, outside the parts that -are included in the book, are not used but still all must be correct -DocBook XML files. - -ELTF work: - template => ELTF replaces ALL ELTF_xxx variables => updated XML file - => push to git only if changed - - -eltf_params_template.xml (in git) - File used by ELTF to autocreate/update the real parameter - file eltf_params_updated.xml. - -eltf_params_updated.xml (in git) - Real parameter file where ELTF has replaced all ELTF_xx variables with - strings, in several cases with multiline strings. - No spaces or linefeed allowed in beginning or end of the variable values! - - -xi:include: Each parameter is xi:include'ed in various book files, using - the IDs existing in the parameter files. - In most cases the 1:st element inside an element with an ID is included - using a format like eltf-prereq-apt-get-commands-host/1. - In very few cases the element with the ID is included in the book, one - example is the target section which has an ID, but which contains - multiple subsections, one per target. - All IDs in a book must be unique. - -DocBook XML: All XML files must be correct DocBook XML files. - -Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes - not done by ELTF. But it is OK to open the real file in XMLmind to - check that the format is correct. - -ELTF should autocreate a temporary "real" file but only replace - and push the eltf_params_updated.xml if it is changed. - - -make eltf - This lists all ELTF_xxx variables and some rules how to treat them - -DocBook Format: All elements - rules: - Several strict generic XML rules apply for all strings: - 1. No TABs allowed or any other control chr than "linefeed" - 2. Only 7-bit ASCII - 3. Any < > & must be converted to < > and & - Similar for any other non-7-bit-ASCII but avoid those! - 4. No leading spaces or linefeeds when replacing the ELTF_* variable - 5. No trailing spaces or linefeeds when replacing the ELTF_* variable - 6. Note: Keep existing spaces before/efter ELTF_* in a few cases. - -DocBook Format: - rules: ELTF*PL* variables - Several strict rules apply for the multiline string in programlisting - in addition to the general XML rules above: - 7. Max line length < 80 char - 8. Use backslash (\) to break longer lines - 9. Use spaces (e.g. 4) to indent continuation lines in programlistings - 10. No trailing spaces on any line - 11. No spaces or linefeed immediately after leading - 12. No spaces or linefeed before trailing - -DocBook Format: - rules: ELTF_*URL* variables - 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings - 14. Only if the URL is extremely long, the TXTURL can be a separate string - -Each target has one section with target parameters: -
- MACHINE ELTF_T_MANIFEST_DIR - Information - ..... with many ELTF_ variables .... -
- - 15. If there is only one target. ELTF just replaces ELTF parameters - - 16. It there are multiple targets. ELTF copies the section and appends the - section the required number of times. - Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR - Each section title will become unique - -Tables with target parameters in each target section: - 17. It is possible for ELTF to append more rows with one parameter each - to these tables, because the entire tables are included in the book - -Special - NOT YET READY DEFINED how to handle the optionally included - Eclipse and its version, but this is a first suggestion: - 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string - with both version number and name, - 19. MANUALLY if Eclipse is NOT included in the release, - the release manager should manually set condition="hidden" on - the entire section in the book XML about Eclipse - - - -BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf -if there are more new variables, missing in this description file. - -_____________________________________________________________________________ -ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands - like sudo apt-get install xxxx or similar. - First line = comment with the complete host name! - It is possible to include multiple hosts by just - adding an empty line, comment with host name, etc. - xi:include eltf-prereq-apt-get-commands-host/1 - This is a ... - Example: -# Host Ubuntu 14.04.5 LTS 64bit -sudo apt-get update -sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \ - texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ - make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ - libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ - libxml-parser-perl - -_____________________________________________________________________________ -ELTF_PL_GET_REPO Multiline commands to download the repo tool - xi:include eltf-getting-repo-install-command/1 - This is a ... - Example: -mkdir -p ~/bin -curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo -chmod a+x ~/bin/repo -export PATH=~/bin:$PATH - -_____________________________________________________________________________ -ELTF_EL_REL_VER General parameter string: The version of this Enea - Linux release. Major version and optional .Minor - Typically created from MAJOR and MINOR in enea.conf - MINOR in enea.conf is empty or contains a dot+minor - xi_include EneaLinux_REL_VER/1 - This is a X.x used in many places. - Examples: -6 - or -6.1 - -_____________________________________________________________________________ -ELTF_YOCTO_VER General parameter string: Yocto version, created - from DISTRO in poky.ent - xi:include Yocto_VER/1 - This is a X.x used in many places. - Example: -2.1 - -_____________________________________________________________________________ -ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created - from DISTRO_NAME_NO_CAP in poky.ent - xi:include Yocto_NAME/1 - This is a X.x used in many places. - Example: -krogoth - -_____________________________________________________________________________ -ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL -ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string - at the end, typically without "dot". - xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1 - This is an ... - Example: -http://www.yoctoproject.org/downloads/core/krogoth/21 - -_____________________________________________________________________________ -ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings -ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where - Enea Linux can be downloaded - Often containing same version as in ELTF_EL_REL_VER - xi:include ULINK_ENEA_LINUX_URL/1 - This is an ... - Example: -http://linux.enea.com/6 - -_____________________________________________________________________________ -ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything. - Use the variable $MACHINE/default.xml (the text in - the book will list the avaiable values of MACHINE, - taken from the manifest repository) - xi:include eltf-repo-cloning-enea-linux/1 - This is a ... - Example: -mkdir enea-linux -cd enea-linux -repo init -u git://git.enea.com/linux/el_manifests-standard.git \ - -b refs/tags/EL6 -m $MACHINE/default.xml -repo sync - -_____________________________________________________________________________ -ELTF_ECLIPSE_VERSION Optional general parameter string. - NOT YET READY DEFINED - Just now a release manage must manually set - condition="hidden" on the Eclipse section, - if Eclipse is not included in the release. - ELTF just replaces ELTF_ECLIPSE_VERSION with a full - string with "X.Y (name)" - It includes the ID and can only be ONCE in the book. - xi:include eltf-eclipse-version-row - Example. -4.5 (Mars) - - -_____________________________________________________________________________ -ELTF_T_* All these are in each target (MACHINE) and ELTF - must separately replace them with strings for - each target - NOTE: All (except the MANIFEST_DIR) are in rows - in a table and ELTF can select to append - more parameters by adding more rows - -_____________________________________________________________________________ -ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly -ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same - as the MACHINE names in $MACHINE/default.xml. - In book: a) Part of section ID - b) Part of section title - Examples: -p2041rgb - or -ls1021aiot - or -qemuarm - -_____________________________________________________________________________ -ELTF_T_NAME Target specific: "Target Official Name" - NOT same as the target directory name in most cases. - In book: An element in a row - Examples: -P2041RGB - or -LS1021a-IoT - or -qemuarm - -_____________________________________________________________________________ -ELTF_T_ARC_DESC Target specific: "Architecture and Description" - It can be a short identification string or - it can be a longer descriptive sentence. - In book: An element in a row - Examples: -Power, e500mc - or -ARM Cortex-A7 - -_____________________________________________________________________________ -ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These -ELTF_T_DS_URL two usually are IDENTICAL strings with correct - hyperlink to the target's official datasheet. - In book: an ... - Only if the link is VERY LONG, the text part shall - instead be a descriptive string (see 2:nd example). - NOTE: Also here no spaces or line-feeds! - Examples: -url="http://wiki.qemu.org">http://wiki.qemu.org -or -url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet - -_____________________________________________________________________________ -ELTF_T_POKY_VER Target specific: "Poky version" created either - from POKYVERSION in poky.ent - or using a hashvalue with a leading string, in - which case it may be different per target. - In book: An in a row - Examples: -15.0.0 -or -Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 - -_____________________________________________________________________________ -ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky - but not easy to find among various parameters. - ELTF would extract it from build logs building SDK - and it is possibly different per target. - In book: An in a row - Example: -5.3 - -_____________________________________________________________________________ -ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often - different per target. - In book: An in a row - Example: -3.12 - -_____________________________________________________________________________ -ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a - comma-separated list of driver names. - ELTF should create the list in same order for each - target, e.g. alphabetic migth be OK. - In book: An in a row - Example: -Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC - - -_____________________________________________________________________________ -ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading -ELTF_T_EL_RPM_URL RPM packages for this target". These two are - INDENTICAL strings with hyperlink to the web site - at Enea where the customer can download RPMs - Note: Often the ELFT_EL_REL_VER value and - the ELTF_T_MANIFEST_DIR are used in the link. - In book: an ... - Example: -url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm - -_____________________________________________________________________________ diff --git a/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml b/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml deleted file mode 100644 index 913ba81..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/getting_started.xml +++ /dev/null @@ -1,340 +0,0 @@ - - - - Getting Started with ENFV Access Platform - -
- NFV Access Platform Release content - - The NFV Access Platform 1.0 Release contains along with other items, - documentation, pre-built kernels and images, a bootloader and a - SDK. - - The directories structure is detailed below: - - -- documentation/ - /* NFV Access Platform documentation */ --- inteld1521/ - /* artifacts for the host side */ - -- deb/ - /* deb packages */ - -- images/ - -- enea-image-virtualization-host - /* precompiled artifacts for the Host release image */ - -- various artifacts - -- enea-image-virtualization-host-sdk - /* precompiled artifacts for the Host SDK image. - The SDK image contains userspace tools and kernel - configurations necessary for developing, debugging - and profiling applications and kernel modules */ - -- various artifacts - -- sdk - /* NFV Access Platform SDK for the host */ - -- enea-glibc-x86_64-enea-image-virtualization-host-sdk / - -corei7-64-toolchain-7.0.sh - /* self-extracting archive installing - cross-compilation toolchain for the host */ --- qemux86-64 - /* artifacts for the guest side */ - -- deb/ - /* deb packages */ - -- images/ - -- enea-image-virtualization-guest - /* precompiled artifacts for the Guest image */ - -- various artifacts - -- sdk - /* NFV Access Platform SDK for the guest */ - -- enea-glibc-x86_64-enea-image-virtualization-guest-sdk / - -core2-64-toolchain-7.0.sh - /* self-extracting archive installing cross-compilation - toolchain for the guest (QEMU x86-64) */ - - - For each combination of image and target, the following set of - artifacts is available: - - -- bzImage - /* kernel image */ --- bzImage-<target>.bin - /* kernel image, same as above */ --- config-<target>.config - /* kernel configuration file */ --- core-image-minimal-initramfs-<target>.cpio.gz - /* cpio archive of the initramfs */ --- core-image-minimal-initramfs-<target>.qemuboot.conf - /* qemu config file for the initramfs image */ --- <image-name>-<target>.ext4 - /* EXT4 image of the rootfs */ --- <image-name>-<target>.hddimg - /* msdos filesystem containing syslinux, kernel, initrd and rootfs image */ --- <image-name>-<target>.iso - /* CD .iso image */ --- <image-name>-<target>.qemuboot.conf - /* qemu config file for the image */ --- <image-name>-<target>.tar.gz - /* tar archive of the image */ --- <image-name>-<target>.wic - /* Wic image */ --- microcode.cpio - /* kernel microcode data */ --- modules-<target>.tgz - /* external kernel modules */ --- ovmf.*.qcow2 - /* ovmf firmware for uefi support in qemu */ --- rmc.db - /* Central RMC Database */ --- systemd-bootx64.efi - /* systemd-boot EFI file */ --- grub-efi-bootx64.efi - /* GRUB EFI file */ -
- -
- Included Documention - - Enea NFV Access is provided with the following set of - documents: - - - - Enea NFV Access Guide – A document describing the Enea NFV - Access release content and how to use it, as well as benchmark - results. - - - - Enea NFV Access Open Source Report – A document containing - the open source and license information pertaining to packages - provided with Enea NFV Access 1.0. - - - - Enea NFV Access Test Report – The document that summarizes - the test results for the Enea NFV Access release. - - - - Enea NFV Access Security Report – The document that lists - all security fixes included in the Enea NFV Access 1.0 release. - - -
- -
- How to use the Prebuilt Artifacts - -
- Booting Enea NFV Access Platform using RAMDISK - - There may be use cases, especially at first target ramp-up, where - the HDD/SDD has no partitions and you need to prepare the disks for - boot. Booting from ramdisk can help with this task. - - The prerequisites needed to proceed: - - - - Enea Linux ext4 rootfs image - - enea-image-virtualization-host-inteld1521.ext4 - - - - Enea Linux kernel image - bzImage - - - - BIOS has PXE boot enabled - - - - PXE/tftp server configured and connected (ethernet) to - target. - - - - Copy bzImage and enea-image-virtualization-host-inteld1521.ext4.gz - images to the tftpserver configured for PXE boot. - - Use the following as an example for the PXE configuration - file: - - default vesamenu.c32 -prompt 1 -timeout 0 - -label el_ramfs - menu label ^EneaLinux_RAMfs - kernel bzImage - append root=/dev/ram0 initrd=enea-image-virtualization-host-inteld1521.ext4 / - ramdisk_size=1200000 console=ttyS0,115200 eralyprintk=ttyS0,115200 - - Restart the target. Then enter (F11) in the Boot Menu and select - the Ethernet interface used for PXE boot. From the PXE Boot Menu select - Enea Linux_RAMfs. Once the Enea NFV - Access Platform is started you can partition the HDD/SDD and install - GRUB as described in in the following section. -
- -
- Partitioning a new harddisk and installing GRUB - - The prerequisites needed: - - - - grub (grub-efi-bootx64.efi) - availalble as - a pre-built artifact under - inteld1521/images/enea-image-virtualization-host. - - - - e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb,/ - - dosfstools_4.1-r0.0_amd64.deb - available - under inteld1521/deb. - - - - Proceed using the following steps: - - - - Boot target with Enea NFV Access Platform from RAMDISK - - - - Install prerequisite packages: - - > dpkg -i e2fsprogs-mke2fs_1.43.4-r0.0_amd64.deb -> dpkg -i dosfstools_4.1-r0.0_amd64.deb - - - - Partition the disk: - - > fdisk /dev/sda -fdisk> g {GPT partition type} -fdisk> n -fdisk> 1 -fdisk> {default start part} -fdisk> +512M -fdisk> t -fdisk> 1 {ESP/EFI partition} -fdisk> n -fdisk> 2 -fdisk> {default start part} -fdisk> +18G -fdisk> 3 -fdisk> {default start part} -fdisk> +20G -... -fdisk> 7 -fdisk> {default start part} -fdisk> {default end end part} - -fdisk> p {print partion table} -fdisk> w {write to disk} -fdisk> q - - - - Format the partitions: - - > mkfs.fat -F32 -nEFI /dev/sda1 -> mkfs.ext4 -LROOT /dev/sda2 -> mkfs.ext4 -LROOT /dev/sda3 -> mkfs.ext4 -LROOT /dev/sda4 -> mkfs.ext4 -LROOT /dev/sda5 -> mkfs.ext4 -LROOT /dev/sda6 -> mkfs.ext4 -LROOT /dev/sda7 - - - - Create a GRUB partition: - - > mkdir /mnt/boot -> mount /dev/sda1 /mnt/boot -> mkdir -p /mnt/boot/EFI/boot - -> cp grub-efi-bootx64.efi /mnt/boot/EFI/boot/bootx64.efi -> vi /mnt/boot/EFI/boot/grub.cfg -default=1 - -menuentry "Linux Reference Image" { - linux (hd0,gpt2)/boot/bzImage root=/dev/sda2 ip=dhcp -} - -menuentry "Linux sda3" { - linux (hd0,gpt3)/boot/bzImage root=/dev/sda3 ip=dhcp -} - -menuentry "Linux sda4" { - linux (hd0,gpt4)/boot/bzImage root=/dev/sda4 ip=dhcp -} - -menuentry "Linux sda5" { - linux (hd0,gpt5)/boot/bzImage root=/dev/sda5 ip=dhcp -} - -menuentry "Linux sda6" { - linux (hd0,gpt6)/boot/bzImage root=/dev/sda6 ip=dhcp -} - -menuentry "Linux sda7" { - linux (hd0,gpt7)/boot/bzImage root=/dev/sda7 ip=dhcp -} - - -
- -
- Installing and booting Enea NFV Access Platform on the - harddisk - - After partitioning the harddisk, boot Enea NFV Access Platform - from RAMFS or from a reference image installed on one of the - partitions. - - To install Enea Linux image on a partition follow these - steps: - - - - Copy your platform image on target: - - server> scp ./enea-image-virtualization-host-inteld1521.tar.gz / -root@<target_ip>:/home/root/ - - - - Extract image onto the desired partition: - - target> mount /dev/sda3 /mnt/sda -target> tar -pzxf /home/root/enea-image-virtualization-host-inteld1521.tar.gz / --C /mnt/sda - - Alternately, you can do both steps in one command from the - server: - - server> cat ./enea-image-virtualization-host-inteld1521.tar.gz | / -ssh root@<target_ip> "cd /mnt/sda6; tar -zxf -" - - - - Reboot - - - - From the GRUB menu select your partition - - - - - In order to change kernel boot parameters you need to mount the - GRUB partition (i.e. /dev/sda1) and change the - EFI/boot/grub.cfg file. - -
-
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml b/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml deleted file mode 100644 index f7f186c..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/hypervisor_virtualization.xml +++ /dev/null @@ -1,741 +0,0 @@ - - - - Hypervisor Virtualization - - The KVM, Kernel-based Virtual Machine, is a virtualization - infrastructure for the Linux kernel which turns it into a hypervisor. KVM - requires a processor with a hardware virtualization extension. - - KVM uses QEMU, an open source machine emulator and virtualizer, to - virtualize a complete system. With KVM it is possible to run multiple guests - of a variety of operating systems, each with a complete set of virtualized - hardware. - -
- Launching a Virtual Machine - - QEMU can make use of KVM when running a target architecture that is - the same as the host architecture. For instance, when running - qemu-system-x86_64 on an x86-64 compatible processor (containing - virtualization extensions Intel VT or AMD-V), you can take advantage of - the KVM acceleration, giving you benefit for your host and your guest - system. - - Enea Linux includes an optimizied version of QEMU with KVM-only - support. To use KVM pass --enable-kvm to QEMU. - - The following is an example of starting a guest: - - taskset -c 0,1 qemu-system-x86_64 \ --cpu host -M q35 -smp cores=2,sockets=1 \ --vcpu 0,affinity=0 -vcpu 1,affinity=1 \ --enable-kvm -nographic \ --kernel bzImage \ --drive file=enea-image-virtualization-guest-qemux86-64.ext4,if=virtio,format=raw \ --append 'root=/dev/vda console=ttyS0,115200' \ --m 4096 \ --object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \ --numa node,memdev=mem -mem-prealloc -
- -
- Main QEMU boot options - - Below are detailed all the pertinent boot options for the QEMU - emulator: - - - - SMP - at least 2 cores should be enabled in order to isolate - application(s) running in virtual machine(s) on specific cores for - better performance. - - -smp cores=2,threads=1,sockets=1 \ - - - - CPU affinity - associate virtual CPUs with physical CPUs and - optionally assign a default real time priority to the virtual CPU - process in the host kernel. This option allows you to start qemu vCPUs - on isolated physical CPUs. - - -vcpu 0,affinity=0 \ - - - - Hugepages - KVM guests can be deployed with huge page memory - support in order to reduce memory consumption and improve performance, - by reducing CPU cache usage. By using huge pages for a KVM guest, less - memory is used for page tables and TLB (Translation Lookaside Buffer) - misses are reduced, thereby significantly increasing performance, - especially for memory-intensive situations. - - -object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \ - - - - Memory preallocation - preallocate huge pages at startup time - can improve performance but it may affect the qemu boot time. - - -mem-prealloc \ - - - - Enable realtime characteristics - run qemu with realtime - features. While that mildly implies that "-realtime" alone might do - something, it's just an identifier for options that are partially - realtime. If you're running in a realtime or low latency environment, - you don't want your pages to be swapped out and mlock does that, thus - mlock=on. If you want VM density, then you may want swappable VMs, - thus mlock=off. - - -realtime mlock=on \ - - - - If the hardware does not have an IOMMU (known as "Intel VT-d" on - Intel-based machines and "AMD I/O Virtualization Technology" on AMD-based - machines), it will not be possible to assign devices in KVM. - Virtualization Technology features (VT-d, VT-x, etc.) must be enabled from - BIOS on the host target before starting a virtual machine. -
- -
- Networking in guest - -
- Using vhost-user support - - The goal of vhost-user is to implement a Virtio transport, staying - as close as possible to the vhost paradigm of using shared memory, - ioeventfds and irqfds. A UNIX domain socket based mechanism allows the - set up of resources used by a number of Vrings shared between two - userspace processes, which will be placed in shared memory. - - To run QEMU with the vhost-user backend, you have to provide the - named UNIX domain socket which needs to be already opened by the - backend: - - -object memory-backend-file,id=mem,size=4096M,mem-path=/dev/hugepages,share=on \ --chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 \ --netdev type=vhost-user,id=mynet1,chardev=char0,vhostforce \ --device virtio-net-pci,netdev=mynet1,mac=52:54:00:00:00:01 \ - - The vHost User standard uses a client-server model. The server - creates and manages the vHost User sockets and the client connects to - the sockets created by the server. It is recommended to use QEMU as - server so the vhost-user client can be restarted without affecting the - server, otherwise if the server side dies all clients need to be - restarted. - - Using vhost-user in QEMU as server will offer the flexibility to - stop and start the virtual machine with no impact on virtual switch from - the host (vhost-user-client). - - -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1,server \ -
- -
- Using TAP Interfaces - - QEMU can use TAP interfaces to provide full networking capability - for the guest OS: - - -netdev tap,id=net0,ifname=tap0,script=no,downscript=no \ --device virtio-net-pci,netdev=net0,mac=22:EA:FB:A8:25:AE \ -
- -
- VFIO passthrough VF (SR-IOV) to guest - - KVM hypervisor support for attaching PCI devices on the host - system to guests. PCI passthrough allows guests to have exclusive access - to PCI devices for a range of tasks. PCI passthrough allows PCI devices - to appear and behave as if they were physically attached to the guest - operating system. - - Preparing an Intel system for PCI passthrough: - - - - Enable the Intel VT-d extensions in BIOS - - - - Activate Intel VT-d in the kernel by using - intel_iommu=on as a kernel boot parameter - - - - Allow unsafe interrupts in case the system doesn't support - interrupt remapping. This can be done using - vfio_iommu_type1.allow_unsafe_interrupts=1 as a - boot kernel parameter. - - - - Create guest with direct passthrough via VFIO framework like - so: - - -device vfio-pci,host=0000:03:10.2 \ - - On the host, one or more VirtualFunctions (VFs) must be created in - order to be allocated for a guest network to access, before starting - QEMU: - - $ echo 2 > /sys/class/net/eno3/device/sriov_numvfs -$ modprobe vfio_pci -$ dpdk-devbind.py --bind=vfio-pci 0000:03:10.2 -
- -
- Multi-queue - -
- QEMU multi queue support configuration - - -chardev socket,id=char0,path=/var/run/openvswitch/vhost-user1 \ --netdev type=vhost-user,id=net0,chardev=char0,queues=2 \ --device virtio-net-pci,netdev=net0,mac=22:EA:FB:A8:25:AE,mq=on,vectors=6 -where vectors is calculated as: 2 + 2 * queues number. -
- -
- Inside guest - - Linux kernel virtio-net driver (one queue is enabled by - default): - - $ ethtool -L combined 2 eth0 -DPDK Virtio PMD -$ testpmd -c 0x7 -- -i --rxq=2 --txq=2 --nb-cores=2 ... - - For QEMU documentation please see: https://qemu.weilnetz.de/doc/qemu-doc.html. -
-
-
- -
- Libvirt - - One way to manage guests in Enea NFV Access is by using - libvirt. Libvirt is used in conjunction with a daemon - (libvirtd) and a command line utility (virsh) to manage - virtualized environments. - - The libvirt library is a hypervisor-independent virtualization API - and toolkit that is able to interact with the virtualization capabilities - of a range of operating systems. Libvirt provides a common, generic and - stable layer to securely manage domains on a node. As nodes may be - remotely located, libvirt provides all methods required to provision, - create, modify, monitor, control, migrate and stop the domains, within the - limits of hypervisor support for these operations. - - The libvirt daemon runs on the Enea NFV Access host. All tools built - on libvirt API connect to the daemon to request the desired operation, and - to collect information about the configuration and resources of the host - system and guests. virsh is a command line interface - tool for managing guests and the hypervisor. The virsh tool is built on - the libvirt management API. - - Major functionality provided by - libvirt - - The following is a summary from the libvirt home - page describing the major libvirt features: - - - - VM management: Various domain - lifecycle operations such as start, stop, pause, save, restore, and - migrate. Hotplug operations for many device types including disk and - network interfaces, memory, and cpus. - - - - Remote machine support: All - libvirt functionality is accessible on any machine running the libvirt - daemon, including remote machines. A variety of network transports are - supported for connecting remotely, with the simplest being - SSH, which requires no extra explicit - configuration. For more information, see: http://libvirt.org/remote.html. - - - - Network interface management: - Any host running the libvirt daemon can be used to manage physical and - logical network interfaces. Enumerate existing interfaces, as well as - configure (and create) interfaces, bridges, vlans, and bond devices. - For more details see: https://fedorahosted.org/netcf/. - - - - Virtual NAT and Route based - networking: Any host running the libvirt daemon can manage - and create virtual networks. Libvirt virtual networks use firewall - rules to act as a router, providing VMs transparent access to the host - machines network. For more information, see: http://libvirt.org/archnetwork.html. - - - - Storage management: Any host - running the libvirt daemon can be used to manage various types of - storage: create file images of various formats (raw, qcow2, etc.), - mount NFS shares, enumerate existing LVM volume groups, create new LVM - volume groups and logical volumes, partition raw disk devices, mount - iSCSI shares, and much more. For more details, see: http://libvirt.org/storage.html. - - - - Libvirt Configuration: A - properly running libvirt requires that the following elements be in - place: - - - - Configuration files, located in the directory - /etc/libvirt. They include the daemon's - configuration file libvirtd.conf, and - hypervisor-specific configuration files, like - qemu.conf for the QEMU. - - - - A running libvirtd daemon. The daemon is started - automatically in Enea NFV Access host. - - - - Configuration files for the libvirt domains, or guests, to - be managed by the KVM host. The specifics for guest domains shall - be defined in an XML file of a format specified at http://libvirt.org/formatdomain.html. - XML formats for other structures are specified at http://libvirt.org/format.html. - - - - - -
- Booting a KVM Guest - - There are several ways to boot a KVM guest. Here we describe how - to boot using a raw image. A direct kernel boot can be performed by - transferring the guest kernel and the file system files to the host and - specifying a <kernel> and an - <initrd> element inside the - <os> element of the guest XML file, as in the - following example: - - <os> - <kernel>bzImage</kernel> -</os> -<devices> - <disk type='file' device='disk'> - <driver name='qemu' type='raw' cache='none'/> - <source file='enea-image-virtualization-guest-qemux86-64.ext4'/> - <target dev='vda' bus='virtio'/> - </disk> -</devices> -
- -
- Starting a Guest - - Command virsh create starts a guest: - - virsh create example-guest-x86.xml - - If further configurations are needed before the guest is reachable - through ssh, a console can be started using command - virsh console. The example below shows how to start a - console where kvm-example-guest is the name of the guest defined in the - guest XML file: - - virsh console kvm-example-guest - - This requires that the guest domain has a console configured in - the guest XML file: - - <os> - <cmdline>console=ttyS0,115200</cmdline> -</os> -<devices> - <console type='pty'> - <target type='serial' port='0'/> - </console> -</devices> -
- -
- Isolation - - It may be desirable to isolate execution in a guest, to a specific - guest core. It might also be desirable to run a guest on a specific host - core. - - To pin the virtual CPUs of the guest to specific cores, configure - the <cputune> contents as follows: - - - - First explicitly state on which host core each guest core - shall run, by mapping vcpu to - cpuset in the <vcpupin> - tag. - - - - In the <cputune> tag it is further - possible to specify on which CPU the emulator shall run by adding - the cpuset to the <emulatorpin> tag. - - <vcpu placement='static'>2</vcpu> -<cputune> - <vcpupin vcpu='0' cpuset='2'/> - <vcpupin vcpu='1' cpuset='3'/> - <emulatorpin cpuset="2"/> -</cputune> - - libvirt will group all threads belonging to - a qemu instance into cgroups that will be created for that purpose. - It is possible to supply a base name for those cgroups using the - <resource> tag: - - <resource> - <partition>/rt</partition> -</resource> - - -
- -
- Networking using libvirt - - Command virsh net-create starts a network. If - any networks are listed in the guest XML file, those networks must be - started before the guest is started. As an example, if the network is - defined in a file named example-net.xml, it is started as - follows: - - virsh net-create example-net.xml -<network> - <name>sriov</name> - <forward mode='hostdev' managed='yes'> - <pf dev='eno3'/> - </forward> -</network> - - libvirt is a virtualization API that supports - virtual network creation. These networks can be connected to guests and - containers by referencing the network in the guest XML file. It is - possible to have a virtual network persistently running on the host by - starting the network with command virsh net-define - instead of the previously mentioned virsh - net-create. - - An example for the sample network defined in - meta-vt/recipes-example/virt-example/files/example-net.xml: - - virsh net-define example-net.xml - - Command virsh net-autostart enables a - persistent network to start automatically when the libvirt daemon - starts: - - virsh net-autostart example-net - - Guest configuration file (xml) must be updated to access newly - created network like so: - - <interface type='network'> - <source network='sriov'/> - </interface> - - The following presented here are a few modes of network access - from guest using virsh: - - - - vhost-user interface - - See the Open vSwitch chapter on how to create vhost-user - interface using Open vSwitch. Currently there is no Open vSwitch - support for networks that are managed by libvirt (e.g. NAT). As of - now, only bridged networks are supported (those where the user has - to manually create the bridge). - - <interface type='vhostuser'> - <mac address='00:00:00:00:00:01'/> - <source type='unix' path='/var/run/openvswitch/vhost-user1' mode='client'/> - <model type='virtio'/> - <driver queues='1'> - <host mrg_rxbuf='off'/> - </driver> - </interface> - - - - PCI passthrough - (SR-IOV) - - KVM hypervisor support for attaching PCI devices on the host - system to guests. PCI passthrough allows guests to have exclusive - access to PCI devices for a range of tasks. PCI passthrough allows - PCI devices to appear and behave as if they were physically attached - to the guest operating system. - - Preparing an Intel system for PCI passthrough is done like - so: - - - - Enable the Intel VT-d extensions in BIOS - - - - Activate Intel VT-d in the kernel by using - intel_iommu=on as a kernel boot - parameter - - - - Allow unsafe interrupts in case the system doesn't support - interrupt remapping. This can be done using - vfio_iommu_type1.allow_unsafe_interrupts=1 as - a boot kernel parameter. - - - - VFs must be created on the host before starting the - guest: - - $ echo 2 > /sys/class/net/eno3/device/sriov_numvfs -$ modprobe vfio_pci -$ dpdk-devbind.py --bind=vfio-pci 0000:03:10.0 - <interface type='hostdev' managed='yes'> - <source> - <address type='pci' domain='0x0' bus='0x03' slot='0x10' function='0x0'/> - </source> - <mac address='52:54:00:6d:90:02'/> - </interface> - - - - Bridge interface - - In case an OVS bridge exists on host, it can be used to - connect the guest: - - <interface type='bridge'> - <mac address='52:54:00:71:b1:b6'/> - <source bridge='ovsbr0'/> - <virtualport type='openvswitch'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> - </interface> - - For further details on the network XML format, see http://libvirt.org/formatnetwork.html. - - -
- -
- Libvirt guest configuration examples - -
- Guest configuration with vhost-user interface - - <domain type='kvm'> - <name>vm_vhost</name> - <uuid>4a9b3f53-fa2a-47f3-a757-dd87720d9d1d</uuid> - <memory unit='KiB'>4194304</memory> - <currentMemory unit='KiB'>4194304</currentMemory> - <memoryBacking> - <hugepages> - <page size='1' unit='G' nodeset='0'/> - </hugepages> - </memoryBacking> - <vcpu placement='static'>2</vcpu> - <cputune> - <shares>4096</shares> - <vcpupin vcpu='0' cpuset='4'/> - <vcpupin vcpu='1' cpuset='5'/> - <emulatorpin cpuset='4,5'/> - </cputune> - <os> - <type arch='x86_64' machine='pc'>hvm</type> - <kernel>/mnt/qemu/bzImage</kernel> - <cmdline>root=/dev/vda console=ttyS0,115200</cmdline> - <boot dev='hd'/> - </os> - <features> - <acpi/> - <apic/> - </features> - <cpu mode='host-model'> - <model fallback='allow'/> - <topology sockets='2' cores='1' threads='1'/> - <numa> - <cell id='0' cpus='0-1' memory='4194304' unit='KiB' memAccess='shared'/> - </numa> - </cpu> - <on_poweroff>destroy</on_poweroff> - <on_reboot>restart</on_reboot> - <on_crash>destroy</on_crash> - <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <disk type='file' device='disk'> - <driver name='qemu' type='raw' cache='none'/> - <source file='/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4'/> - <target dev='vda' bus='virtio'/> - </disk> - <interface type='vhostuser'> - <mac address='00:00:00:00:00:01'/> - <source type='unix' path='/var/run/openvswitch/vhost-user1' mode='client'/> - <model type='virtio'/> - <driver queues='1'> - <host mrg_rxbuf='off'/> - </driver> - </interface> - <serial type='pty'> - <target port='0'/> - </serial> - <console type='pty'> - <target type='serial' port='0'/> - </console> - </devices> -</domain> -
- -
- Guest configuration with PCI passthrough - - <domain type='kvm'> - <name>vm_sriov1</name> - <uuid>4a9b3f53-fa2a-47f3-a757-dd87720d9d1d</uuid> - <memory unit='KiB'>4194304</memory> - <currentMemory unit='KiB'>4194304</currentMemory> - <memoryBacking> - <hugepages> - <page size='1' unit='G' nodeset='0'/> - </hugepages> - </memoryBacking> - <vcpu>2</vcpu> - <os> - <type arch='x86_64' machine='q35'>hvm</type> - <kernel>/mnt/qemu/bzImage</kernel> - <cmdline>root=/dev/vda console=ttyS0,115200</cmdline> - <boot dev='hd'/> - </os> - <features> - <acpi/> - <apic/> - </features> - <cpu mode='host-model'> - <model fallback='allow'/> - <topology sockets='1' cores='2' threads='1'/> - <numa> - <cell id='0' cpus='0' memory='4194304' unit='KiB' memAccess='shared'/> - </numa> - </cpu> - <on_poweroff>destroy</on_poweroff> - <on_reboot>restart</on_reboot> - <on_crash>destroy</on_crash> - <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <disk type='file' device='disk'> - <driver name='qemu' type='raw' cache='none'/> - <source file='/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4'/> - <target dev='vda' bus='virtio'/> - </disk> - <interface type='hostdev' managed='yes'> - <source> - <address type='pci' domain='0x0' bus='0x03' slot='0x10' function='0x0'/> - </source> - <mac address='52:54:00:6d:90:02'/> - </interface> - <serial type='pty'> - <target port='0'/> - </serial> - <console type='pty'> - <target type='serial' port='0'/> - </console> - </devices> -</domain> -
- -
- Guest configuration with bridge interface - - <domain type='kvm'> - <name>vm_bridge</name> - <uuid>4a9b3f53-fa2a-47f3-a757-dd87720d9d1d</uuid> - <memory unit='KiB'>4194304</memory> - <currentMemory unit='KiB'>4194304</currentMemory> - <memoryBacking> - <hugepages> - <page size='1' unit='G' nodeset='0'/> - </hugepages> - </memoryBacking> - <vcpu placement='static'>2</vcpu> - <cputune> - <shares>4096</shares> - <vcpupin vcpu='0' cpuset='4'/> - <vcpupin vcpu='1' cpuset='5'/> - <emulatorpin cpuset='4,5'/> - </cputune> - <os> - <type arch='x86_64' machine='q35'>hvm</type> - <kernel>/mnt/qemu/bzImage</kernel> - <cmdline>root=/dev/vda console=ttyS0,115200</cmdline> - <boot dev='hd'/> - </os> - <features> - <acpi/> - <apic/> - </features> - <cpu mode='host-model'> - <model fallback='allow'/> - <topology sockets='2' cores='1' threads='1'/> - <numa> - <cell id='0' cpus='0-1' memory='4194304' unit='KiB' memAccess='shared'/> - </numa> - </cpu> - <on_poweroff>destroy</on_poweroff> - <on_reboot>restart</on_reboot> - <on_crash>destroy</on_crash> - <devices> - <emulator>/usr/bin/qemu-system-x86_64</emulator> - <disk type='file' device='disk'> - <driver name='qemu' type='raw' cache='none'/> - <source file='/mnt/qemu/enea-image-virtualization-guest-qemux86-64.ext4'/> - <target dev='vda' bus='virtio'/> - </disk> - <interface type='bridge'> - <mac address='52:54:00:71:b1:b6'/> - <source bridge='ovsbr0'/> - <virtualport type='openvswitch'/> - <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> - </interface> - <serial type='pty'> - <target port='0'/> - </serial> - <console type='pty'> - <target type='serial' port='0'/> - </console> - </devices> -</domain> -
-
-
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.png b/doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.png deleted file mode 100644 index 4011de8..0000000 Binary files a/doc/book-enea-nfv-access-platform-guide/doc/images/virtual_network_functions.png and /dev/null differ diff --git a/doc/book-enea-nfv-access-platform-guide/doc/ovs.xml b/doc/book-enea-nfv-access-platform-guide/doc/ovs.xml deleted file mode 100644 index 3400975..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/ovs.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - Open Virtual Switch - - Open vSwitch (OVS) is an open-source multilayer virtual switch - designed to be used in virtualized environments to forward traffic between - different VMs on the same host, and also between VMs and the physical - network. - - Native OVS forwarding is handled by two major components: a user-space - daemon called ovs-vswitchd and a - fastpath kernel module used to accelerate the data path. - The fastpath kernel module will handle packets received on the NIC by simply - consulting a flow table with corresponding action rules (e.g to forward the - packet or modify its headers). If no matching entry is found in the flow - table, the packet is copied to the user-space and sent to the ovs-vswitchd - deamon which determines how it should be handled ("slowpath"). - - The packet is then passed back to the kernel module together with the - desired action and the flow table is updated, so that subsequent packets in - the same flow can be handled in fastpath without any user-space interaction. - In this way, OVS eliminates a lot of the context switching between - kernel-space and user-space, but the throughput is still limited by the - capacity of the Linux kernel stack. - -
- OVS-DPDK - - To improve performance, OVS supports integration with Intel DPDK - libraries to operate entirely in user-space (OVS-DPDK). DPDK Poll Mode - Drivers (PMDs) enable direct transfers of packets between the physical NIC - and user-space, thereby eliminating the overhead of interrupt handling and - Linux kernel network stack processing. OVS-DPDK provides DPDK-backed - vhost-user ports as the primary way to connect guests to this datapath. - The vhost-user interfaces are transparent to the guest. -
- -
- OVS commands - - OVS provides a rich set of command line management tools, most - importantly: - - - - ovs-vsctl: Used to manage and inspect switch configurations, - e.g. to create bridges and to add/remove ports. - - - - ovs-ofctl: Used to configure and monitor flows. - - - - For more information about Open vSwitch, see http://openvswitch.org. -
- -
- Configuring OVS-DPDK for improved performance - -
- dpdk-lcore-mask - - Specifies the CPU core affinity for DPDK lcore threads. The lcore - threads are used for DPDK library tasks. For performance it is best to - set this to a single core on the system, and it should not overlap the - pmd-cpu-mask, as seen in the example below. - - Example: To use core 1: - - ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x1 -
- -
- pmd-cpu-mask - - The DPDK PMD threads polling for incoming packets are CPU bound - and should be pinned to isolated cores for optimal performance. - - If OVS-DPDK receives traffic on multiple ports, for example when - DPDK and vhost-user ports are used for bi-directional traffic, the - performance can be significantly improved by creating multiple PMD - threads and affinitizing them to separate cores in order to share the - workload, by each being responsible for an individual port. The cores - should not be hyperthreads on the same CPU. - - The PMD core affinity is specified by setting an appropriate core - mask. Example: using cores 2 and 3: - - ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc -
-
- -
- How to set up OVS-DPDK - - The DPDK must be configured prior to setting up OVS-DPDK. See - [FIXME] for DPDK setup instructions, then follow these steps: - - - - Clean up the environment: - - killall ovsdb-server ovs-vswitchd -rm -f /var/run/openvswitch/vhost-user* -rm -f /etc/openvswitch/conf.db - - - - Start the ovsdb-server: - - export DB_SOCK=/var/run/openvswitch/db.sock -ovsdb-tool create /etc/openvswitch/conf.db /usr/share/openvswitch/vswitch.ovsschema -ovsdb-server --remote=punix:$DB_SOCK / ---remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach - - - - Start ovs-vswitchd with DPDK support enabled: - - ovs-vsctl --no-wait init -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x1 -ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xc -ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true -ovs-vswitchd unix:$DB_SOCK --pidfile --detach / ---log-file=/var/log/openvswitch/ovs-vswitchd.log - - - - Create the OVS bridge and attach ports: - - ovs-vsctl add-br ovsbr0 -- set bridge ovsbr0 datapath_type=netdev -ovs-vsctl add-port ovsbr0 dpdk0 -- set Interface dpdk0 type=dpdk / -:dpdk-devargs=<PCI device> - - - - Add DPDK vhost-user ports: - - ovs-vsctl add-port ovsbr0 vhost-user1 -- set Interface vhost-user1 type=dpdkvhostuser - - This command creates a socket at - /var/run/openvswitch/vhost-user1, which can be - provided to the VM on the QEMU command line. See [FIXME] for - details. - - - - Define flows: - - ovs-ofctl del-flows ovsbr0 -ovs-ofctl show ovsbr0 -ovs-ofctl add-flow ovsbr0 in_port=1,action=output:2 -ovs-ofctl add-flow ovsbr0 in_port=2,action=output:1 - - -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml b/doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml deleted file mode 100644 index 945e25b..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/platform_overview.xml +++ /dev/null @@ -1,165 +0,0 @@ - - - - Platform Overview - - The NFV Access Platform Guide available with this release of Enea - Linux, seeks to provide further information that will help all intended - users make the most out of the virtualization features. - -
- NFV Access Platform Description - - Enea NFV Access is a lightweight virtualization software platform - designed for deployment on edge devices at customer premises. Streamlined - for high networking performance and minimal footprints for both platform - and VNFs, it enables very high compute density. - - ENFV Access also provides a foundation for vCPE agility and - innovation, reducing cost and complexity for computing at the network - edge. It supports multiple architectures and scales from small white box - edge devices up to high-end network servers. Thanks to the streamlined - footprint, Enea NFV Access can be deployed on systems as small as single - 2-core ARM devices. It scales up to clustered 24 core x86 Xeon servers and - beyond, allowing multiple VNFs on the same machine, and eliminating the - need to use different virtualization software for different hardware - platforms, saving costs through single source provisioning. - - Optimized virtual networking performance provides low virtualized - networking latency, high virtualized networking throughput (10 Gb wire - speed), and low processing overhead. It allows high compute density on - white box hardware, maintaining performance when moving functionality from - application specific appliances to software on standard hardware. The - optimized boot speed minimizes the time from reboot to active services, - improving availability. - - Enea NFV Access provides virtualization using both containers and - virtual machines. Containers provide lightweight virtualization for a - smaller VNF footprint and a very short time interval from start to enabled - network services. VMs provide virtualization with secure VNF sandboxing - and is the preferred virtualization method for OPNFV compliance. Enea NFV - Access allows combinations of containers and VMs for highest possible user - adaptability. - - Flexible interfaces for VNF lifecycle management and service - function chaining, are important to allow a smooth transition from - traditional network appliances to virtualized network functions in - existing networks, as they plug into a variety of interfaces. Enea NFV - Access supports VNF lifecycle management and service function chaining - through OpenStack, NETCONF, REST, CLI and Docker. It integrates a powerful - device management framework that enables full FCAPS functionality for - powerful management of the platform. - - Building on open source, Enea NFV Access prevents vendor lock-in - thanks to its completely open standards and interfaces. Unlike proprietary - platforms that either do not allow decoupling of software from hardware, - or prevent NVF portability, Enea NFV Access includes optimized components - with open interfaces to allow full portability and - interoperability. -
- -
- NFV Access Platform Components - - Enea NFV Access is built on highly optimized open source and - value-adding components that provide standard interfaces but with boosted - performance. - - - - - - - - The Access Platform includes the following key components: - - - - Linux Kernel – Optimized Linux kernel with the focus on - vCPE systems characteristics. - - - - KVM – Virtualization with virtual machines. KVM is the - standard virtualization engine for Linux based systems. - - - - Docker – Docker provides a lightweight configuration using - containers. Docker is the standard platform for container - virtualization. - - - - Virtual switching – Optimized OVS-DPDK provides high - throughput and low latency. - - - - Edge Link – Edge Link provides interfaces to orchestration - for centralized VNF lifecycle management and service function - chaining: - - - - NETCONF - - - - OpenStack - - - - Docker - - - - REST - - - - CLI - - - - - - APT packet management – Feature rich repository of - prebuilt open source packages for extending and adapting the platform - using APT Package Management. - - - - CLI based VNF management – CLI access over virsh and - libvirt. - - - - FCAPS framework – The device management framework for - managing the platform is capable of providing full FCAPS functionality - to orchestration or network management systems. - - - - Data plane – High performance data plane that includes the - following optimized data plane drivers: - - - - DPDK - - - - OpenFastPath (OFP) - - - - ODP - - - - -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml b/doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml deleted file mode 100644 index 9f0f3f5..0000000 --- a/doc/book-enea-nfv-access-platform-guide/doc/using_nfv_access_platform_sdks.xml +++ /dev/null @@ -1,203 +0,0 @@ - - - - Using NFV Access Platform SDKs - - Enea NFV Access Platform comes with two different toolchains, one for - developing applications for the host and one for applications running in the - guest VM. Each is wrapped together with an environment-setup script into a - shell archive and is available under the Download section on - portal.enea.com. They have self explanatory names. - - - - inteld1521/sdk/enea-glibc-x86_64-enea-image-virtualization-host-sdk-corei7-64-toolchain-7.0.sh - - for host applications. - - - - qemux86-64/sdk/enea-glibc-x86_64-enea-image-virtualization-guest-sdk-core2-64-toolchain-7.0.sh - - for guest applications. - - - -
- Installing the Cross-Compilation Toolchain - - Before cross-compiling applications for your target, you need to - install the corresponding toolchain on your workstation. To do that, - simply run the installer and follow the steps included with it: - - - - $ ./enea-glibc-x86_64-enea-image-virtualization-guest-sdk-core2-64-toolchain-7.0.shWhen - prompted, select to install the toolchain in the desired directory, - referred to as <sdkdir>. - - A default path where the toolchain will be installed will be - shown in the prompt. The installer unpacks the environment setup - script in <sdkdir> and the toolchain under - <sdkdir>/sysroots. - - - Choose a unique directory for each toolchain. Installing a - second toolchain of any type in the same directory as a previously - installed one will break the $PATH variable of - the first one. - - - - - Setup the toolchain environment for your target by sourcing the - environment-setup script. Example: $ source <sdkdir>/environment-setup-core2-64-enea-linux - - -
- -
- Cross-Compiling Applications from Command Line - - Once the environment-setup script is sourced, you can make your - applications as per usual and get them compiled for your target. Below you - see how to cross-compile from command line. - - - - Create a Makefile for your application. Example: a simple - Makefile and application: - - helloworld:helloworld.o - $(CC) -o helloworld helloworld.o -clean: - rm -f *.o helloworld -#include <stdio.h> -int main(void) { - printf("Hello World\n"); - return 0; -} - - - - Run make to cross-compile your application - according to the environment set up: - - $ make - - - - Deploy the helloworld program to your target and run it: - - # ./helloworld -hello world - - -
- -
- Cross-Compiling Kernel Modules - - Before cross-compiling kernle modules, you need to make sure the - installed toolchain includes the kernel source tree, which should be - available at: - <sdkdir>/sysroots/<targetarch>-enea-linux/usr/src/kernel. - - Once the environment-setup script is sourced, you can make your - kernel modules as usual and get them compiled for your target. Below you - see how to cross-compile a kernel module. - - - - Create a Makefile for the kernel module. Example: a simple - Makefile and kernel module: - - obj-m := hello.o -PWD := $(shell pwd) - -KERNEL_SRC := <full path to kernel source tree> - -all: scripts - $(MAKE) -C $(KERNEL_SRC) M=$(PWD) LDFLAGS="" modules -scripts: - $(MAKE) -C $(KERNEL_SRC) scripts -clean: - $(MAKE) -C $(KERNEL_SRC) M=$(PWD) LDFLAGS="" clean -#include <linux/module.h> /* Needed by all modules */ -#include <linux/kernel.h> /* Needed for KERN_INFO */ -#include <linux/init.h> /* Needed for the macros */ - -static int __init hello_start(void) -{ - printk(KERN_INFO "Loading hello module...\n"); - printk(KERN_INFO "Hello, world\n"); - return 0; -} - -static void __exit hello_end(void) -{ - printk(KERN_INFO "Goodbye, world\n"); -} - -module_init(hello_start); -module_exit(hello_end); - -MODULE_LICENSE("GPL"); - - - - Run make to cross-compile your kernel module - according to the environment set up: - - $ make - - - - Deploy the kernel module hello.ko to your - target and install/remove it: - - # insmod hello.ko -# rmmod hello.ko -# dmesg -[...] Loading hello module... -[...] Hello, world -[...] Goodbye, world - - -
- -
- Deploying your artifacts - - - - Deploying on host - - You can use ssh to deploy your artifacts on - the host target. For this you will need a network connection to the - target and to use scp to copy to the desired - location. - - - - Deploying on guest - - You can deploy your artifacts onto the guest VM running on the - target in two steps: - - - - Deploy the artifacts onto the target by using the method - described above or any other method. - - - - On the target, copy the artifacts to the guest rootfs. For - this, you will need to shut down the guest VM, mount the file - system on the target, copy your files onto it, unmount it and then - restart the guest VM as usual. - - - - -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-guide/swcomp.mk b/doc/book-enea-nfv-access-platform-guide/swcomp.mk deleted file mode 100644 index 4572144..0000000 --- a/doc/book-enea-nfv-access-platform-guide/swcomp.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Component build specification - -# Version of THIS book -BOOK_VER ?= $(REL_VER)-dev - -DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) - -BOOKPACKAGES := book-enea-nfv-access-platform-guide -BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access Platform $(PROD_VER) Guide" -BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) diff --git a/doc/book-enea-nfv-access-platform-open-source/doc/README b/doc/book-enea-nfv-access-platform-open-source/doc/README deleted file mode 100644 index c40a2d9..0000000 --- a/doc/book-enea-nfv-access-platform-open-source/doc/README +++ /dev/null @@ -1,4 +0,0 @@ -The licenses.xml in the git repository of Enea Linux Open Source Report -is the frozen version belonging to the last official release of Enea Linux. -The contents must be generated from the release script to obtain the latest -lists of packages and licenses. diff --git a/doc/book-enea-nfv-access-platform-open-source/doc/about.xml b/doc/book-enea-nfv-access-platform-open-source/doc/about.xml deleted file mode 100644 index 79c8375..0000000 --- a/doc/book-enea-nfv-access-platform-open-source/doc/about.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - About this Report - - This document contains the open source and license information - pertaining to packages provided with Enea NFV Access Platform . - \ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-open-source/doc/book.xml b/doc/book-enea-nfv-access-platform-open-source/doc/book.xml deleted file mode 100644 index 460e242..0000000 --- a/doc/book-enea-nfv-access-platform-open-source/doc/book.xml +++ /dev/null @@ -1,14 +0,0 @@ - - -]> - - <trademark class="registered">Enea</trademark> NFV Access Platform Open Source Report - Release Version - - - - - diff --git a/doc/book-enea-nfv-access-platform-open-source/doc/licenses.xml b/doc/book-enea-nfv-access-platform-open-source/doc/licenses.xml deleted file mode 100644 index 2093e66..0000000 --- a/doc/book-enea-nfv-access-platform-open-source/doc/licenses.xml +++ /dev/null @@ -1,7986 +0,0 @@ - - - - Packages and Licenses -
- - Packages - - - - - - - - - - - - - - Package Name - Version - Description - License - - - - - - acl - 2.2.52 - Utilities for managing POSIX Access Control Lists. - LGPL-2.1, GPL-2.0 - - - alsa-lib - 1.1.3 - ALSA sound library. - LGPL-2.1, GPL-2.0 - - - apt - 1.2.12 - Advanced front-end for dpkg. - GPL-2.0 - - - asciidoc - 8.6.9 - AsciiDoc is a text document format for writing short documents articles books and UNIX man pages. - GPL-2.0 - - - atk - 2.22.0 - Accessibility toolkit for GNOME. - GPL-2.0, LGPL-2.0 - - - attr - 2.4.47 - Utilities for manipulating filesystem extended attributes. - LGPL-2.1, GPL-2.0 - - - aufs-util - 3.14 - Tools for managing AUFS mounts. - GPL-2.0 - - - augeas - 1.5.0 - Augeas configuration API. - LGPL-2.1 - - - autoconf-archive - 2016.09.16 - autoconf-archive-native version 2016.09.16-r0. - GPL-2.0, GPL-3.0 - - - autoconf - 2.69 - Autoconf is an extensible package of M4 macros that produce shell scripts to automatically configure software source code packages. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use in the form of M4 macro calls. - GPL-2.0, GPL-3.0 - - - autogen - 5.18.12 - AutoGen is a tool designed to simplify the creation and maintenance of programs that contain large amounts of repetitious text. It is especially valuable in programs that have several blocks of text that must be kept synchronized. - GPL-3.0 - - - automake - 1.15 - Automake is a tool for automatically generating `Makefile.in' files compliant with the GNU Coding Standards. Automake requires the use of Autoconf. - GPL-2.0 - - - avahi - 0.6.32 - "Avahi is a fully LGPL framework for Multicast DNS Service Discovery. It allows programs to publish and discover services and hosts running on a local network with no specific configuration. This tool implements IPv4LL ""Dynamic Configuration of IPv4 Link-Local Addresses"" (IETF RFC3927) a protocol for automatic IP address configuration from the link-local 169.254.0.0/16 range without the need for a central server." - GPL-2.0, LGPL-2.1 - - - babeltrace - 1.5.2 - Babeltrace provides trace read and write libraries in host side as well as a trace converter which used to convert LTTng 2.0 traces into human-readable log. - MIT, GPL-2.0 - - - base-files - 3.0.14 - The base-files package creates the basic system directory structure and provides a small set of key configuration files for the system. - GPL-2.0 - - - base-passwd - 3.5.29 - The master copies of the user database files (/etc/passwd and /etc/group). The update-passwd tool is also provided to keep the system databases synchronized with these master files. - GPL-2.0 - - - bash-completion - 2.5 - Programmable Completion for Bash 4. - GPL-2.0 - - - bash - 4.3.30 - An sh-compatible command language interpreter. - GPL-3.0 - - - bc - 1.06 - Arbitrary precision calculator language. - GPL-2.0, LGPL-2.1 - - - bdwgc - 7.6.0 - The Boehm-Demers-Weiser conservative garbage collector can be used as a garbage collecting replacement for C malloc or C++ new. It allows you to allocate memory basically as you normally would without explicitly deallocating memory that is no longer useful. The collector automatically recycles memory when it determines that it can no longer be otherwise accessed. The collector is also used by a number of programming language implementations that either use C as intermediate code want to facilitate easier interoperation with C libraries or just prefer the simple collector interface. Alternatively the garbage collector may be used as a leak detector for C or C++ programs though that is not its primary goal. Empirically this collector works with most unmodified C programs simply by replacing malloc with GC_malloc calls replacing realloc with GC_realloc calls and removing free calls. - MIT - - - bind - 9.10.3-P3 - ISC Internet Domain Name Server. - ISC, BSD - - - binutils-cross-x86_64 - 2.28 - The GNU Binutils are a collection of binary tools. The main ones are ld (GNU Linker) and as (GNU Assembler). This package also includes addition tools such as addr2line (Converts addresses into filenames and line numbers) ar (utility for creating modifying and extracting archives) nm (list symbols in object files) objcopy (copy and translate object files) objdump (Display object information) and other tools and related libraries. - GPL-3.0 - - - binutils - 2.28 - The GNU Binutils are a collection of binary tools. The main ones are ld (GNU Linker) and as (GNU Assembler). This package also includes addition tools such as addr2line (Converts addresses into filenames and line numbers) ar (utility for creating modifying and extracting archives) nm (list symbols in object files) objcopy (copy and translate object files) objdump (Display object information) and other tools and related libraries. - GPL-3.0 - - - bison - 3.0.4 - Bison is a general-purpose parser generator that converts an annotated context-free grammar into an LALR(1) or GLR parser for that grammar. Bison is upward compatible with Yacc: all properly-written Yacc grammars ought to work with Bison with no change. Anyone familiar with Yacc should be able to use Bison with little trouble. - GPL-3.0 - - - bjam - 1.63.0 - Portable Boost.Jam build tool for boost. - BSL-1.0, MIT - - - bmap-tools - 3.2 - "Bmap-tools - tools to generate block map (AKA bmap) and flash images using bmap. Bmaptool is a generic tool for creating the block map (bmap) for a file and copying files using the block map. The idea is that large file containing unused blocks like raw system image files can be copied or flashed a lot faster with bmaptool than with traditional tools like ""dd"" or ""cp""." - GPL-2.0 - - - boost - 1.63.0 - Free peer-reviewed portable C++ source libraries. - BSL-1.0, MIT - - - bridge-utils - 1.5 - Tools for ethernet bridging. - GPL-2.0 - - - btrfs-tools - 4.9.1 - Btrfs is a new copy on write filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance repair and easy administration. This package contains utilities (mkfs fsck btrfsctl) used to work with btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3. - GPL-2.0 - - - busybox - 1.24.1 - BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides minimalist replacements for most of the utilities you usually find in GNU fileutils shellutils etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete POSIX environment for any small or embedded system. - GPL-2.0, BSD-4-Clause - - - bzip2 - 1.0.6 - bzip2 compresses files using the Burrows-Wheeler block-sorting text compression algorithm and Huffman coding. Compression is generally considerably better than that achieved by more conventional LZ77/LZ78-based compressors and approaches the performance of the PPM family of statistical compressors. - BSD-4-Clause - - - ca-certificates - 20161130 - This package includes PEM files of CA certificates to allow SSL-based applications to check for the authenticity of SSL connections. This derived from Debian's CA Certificates. - GPL-2.0, MPL-2.0 - - - cairo - 1.14.8 - Cairo is a multi-platform library providing anti-aliased vector-based rendering for multiple target backends. Paths consist of line segments and cubic splines and can be rendered at any width with various join and cap styles. All colors may be specified with optional translucence (opacity/alpha) and combined using the extended Porter/Duff compositing algebra as found in the X Render Extension. - MPL-1.0, LGPL-2.1, GPL-3.0 - - - cantarell-fonts - 0.0.24 - The Cantarell font typeface is designed as a contemporary Humanist sans serif and was developed for on-screen reading; in particular reading web pages on an HTC Dream mobile phone. - OFL-1.1 - - - cdrtools - 3.01a31 - A set of tools for CD recording including cdrecord. - GPL-2.0, LGPL-2.1 - - - chrpath - 0.16 - chrpath allows you to change the rpath (where the application looks for libraries) in an application. It does not (yet) allow you to add an rpath if there isn't one already. - GPL-2.0 - - - cmake - 3.7.2 - Cross-platform open-source make system. - BSD - - - compose-file - 3.0 - Parser for the Compose file format (version 3) - Apache-2.0 - - - compositeproto - 0.4.2 - This package provides the wire protocol for the X composite extension. The X composite extension provides three related mechanisms for compositing and off-screen storage. - MIT - - - containerd-docker - 0.2.3 - containerd is a daemon to control runC built for performance and density. containerd leverages runC's advanced features such as seccomp and user namespace support as well as checkpoint and restore for cloning and live migration of containers. - Apache-2.0 - - - core-image-minimal-initramfs - 1.0 - Small image capable of booting a device. The kernel includes the Minimal RAM-based Initial Root Filesystem (initramfs) which finds the first 'init' program more efficiently. - MIT - - - coreutils - 8.26 - The GNU Core Utilities provide the basic file shell and text manipulation utilities. These are the core utilities which are expected to exist on every system. - GPL-3.0 - - - cross-localedef - 2.25 - Cross locale generation tool for glibc. - LGPL-2.1 - - - cryptodev-linux - 1.8 - A /dev/crypto device driver header file. - GPL-2.0 - - - curl - 7.53.1 - Command line tool and library for client-side URL transfers. - MIT - - - damageproto - 1.2.1 - This package provides the wire protocol for the DAMAGE extension. The DAMAGE extension allows applications to receive information about changes made to pixel contents of windows and pixmaps. - MIT - - - db - 5.3.28 - Berkeley Database v5. - Sleepycat - - - dbus-glib - 0.108 - GLib bindings for the D-Bus message bus that integrate the D-Bus library with the GLib thread abstraction and main loop. - AFL-2.0, GPL-2.0 - - - dbus-test - 1.10.14 - D-Bus test package (for D-bus functionality testing only). - AFL-2.0, GPL-2.0 - - - dbus - 1.10.14 - "D-Bus is a message bus system a simple way for applications to talk to one another. In addition to interprocess communication D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \""single instance\"" application or daemon and to launch applications and daemons on demand when their services are needed." - AFL-2.0, GPL-2.0 - - - debianutils - 4.8.1 - Miscellaneous utilities specific to Debian. - GPL-2.0 - - - depmodwrapper - 1.0 - Wrapper script for the Linux kernel module dependency indexer. - MIT - - - dhcp - 4.3.5 - DHCP (Dynamic Host Configuration Protocol) is a protocol which allows individual devices on an IP network to get their own network configuration information from a server. DHCP helps make it easier to administer devices. - ISC - - - diffutils - 3.5 - Diffutils contains the GNU diff diff3 sdiff and cmp utilities. These programs are usually used for creating patch files. - GPL-3.0 - - - dmidecode - 3.0 - DMI (Desktop Management Interface) table related utilities. - GPL-2.0 - - - dnsmasq - 2.76 - Lightweight easy to configure DNS forwarder and DHCP server. - GPL-2.0, GPL-3.0 - - - docbook-xml-dtd4 - 4.5 - Document type definitions for verification of XML data files against the DocBook rule set it ships with the latest DocBook 4.5 XML DTD as well as a selected set of legacy DTDs for use with older documents including 4.0 4.1.2 4.2 4.3 and 4.4 - OASIS - - - docbook-xsl-stylesheets - 1.79.1 - XSL stylesheets for processing DocBook XML to various output formats. - XSL - - - docker - 1.13.0 - Linux container runtime Docker complements kernel namespacing with a high-level API which operates at the process level. It runs unix processes with strong guarantees of isolation and repeatability across servers. . Docker is a great building block for automating distributed systems: large-scale web deployments database clusters continuous deployment systems private PaaS service-oriented architectures etc. . This package contains the daemon and client. Using docker.io is officially supported on x86_64 and arm (32-bit) hosts. Other architectures are considered experimental. . Also note that kernel version 3.10 or above is required for proper operation of the daemon process and that any lower versions may have subtle and/or glaring issues. - Apache-2.0 - - - dosfstools - 4.1 - DOS FAT Filesystem Utilities. - GPL-3.0 - - - dpdk-dev-libibverbs - 1.2.1-3.4-2.0.0.0 - libibverbs library to support Mellanox config - GPL-2.0 - - - dpdk - 17.02 - Intel(r) Data Plane Development Kit - BSD, LGPL-2.0, GPL-2.0 - - - dpkg - 1.18.10 - Package maintenance system from Debian. - GPL-2.0 - - - dropbear - 2016.74 - A lightweight SSH and SCP implementation. - MIT, BSD-3-Clause, BSD-2-Clause, PD - - - dtc - 1.4.2 - The Device Tree Compiler is a tool used to manipulate the Open-Firmware-like device tree used by PowerPC kernels. - GPL-2.0, BSD - - - e2fsprogs - 1.43.4 - The Ext2 Filesystem Utilities (e2fsprogs) contain all of the standard utilities for creating fixing configuring and debugging ext2 filesystems. - GPL-2.0, LGPL-2.0, BSD, MIT - - - ebtables - 2.0.10-4 - Utility for basic Ethernet frame filtering on a Linux bridge advanced logging MAC DNAT/SNAT and brouting. - GPL-2.0 - - - elfutils - 0.168 - Utilities and libraries for handling compiled object files. - GPL-3.0, Elfutils-Exception - - - enea-image-virtualization-guest-sdk - 1.0 - Image for the guest side of the Enea Linux Virtualization profile - MIT - - - enea-image-virtualization-guest - 1.0 - Image for the guest side of the Enea Linux Virtualization profile - MIT - - - enea-image-virtualization-host-sdk - 1.0 - Image for the host side of the Enea Linux Virtualization profile - MIT - - - enea-image-virtualization-host - 1.0 - Image for the host side of the Enea Linux Virtualization profile - MIT - - - expat - 2.2.0 - Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for things the parser might find in the XML document (like start tags) - MIT - - - file - 5.30 - File attempts to classify files depending on their contents and prints a description if a match is found. - BSD - - - findutils - 4.6.0 - The GNU Find Utilities are the basic directory searching utilities of the GNU operating system. These programs are typically used in conjunction with other programs to provide modular and powerful directory search and file locating capabilities to other commands. - GPL-3.0 - - - fixesproto - 5.0 - This package provides the wire protocol for the X Fixes extension. This extension is designed to provide server-side support for application work arounds to shortcomings in the core X window system. - MIT - - - flex - 2.6.0 - Flex is a fast lexical analyser generator. Flex is a tool for generating programs that recognize lexical patterns in text. - BSD - - - fontconfig - 2.12.1 - Fontconfig is a font configuration and customization library which does not depend on the X Window System. It is designed to locate fonts within the system and select them according to requirements specified by applications. Fontconfig is not a rasterization library nor does it impose a particular rasterization library on the application. The X-specific library 'Xft' uses fontconfig along with freetype to specify and rasterize fonts. - MIT, PD - - - freetype - 2.7.1 - FreeType is a software font engine that is designed to be small efficient highly customizable and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries display servers font conversion tools text image generation tools and many other products as well. - FreeType, GPL-2.0 - - - gawk - 4.1.4 - The GNU version of awk a text processing utility. Awk interprets a special-purpose programming language to do quick and easy text pattern matching and reformatting jobs. - GPL-3.0 - - - gcc-cross-initial-x86_64 - 6.3.0 - GNU cc and gcc C compilers. - GPL-3.0-with-GCC-exception, GPL-3.0 - - - gcc-cross-x86_64 - 6.3.0 - GNU cc and gcc C compilers. - GPL-3.0-with-GCC-exception, GPL-3.0 - - - gcc-source-6.3.0 - 6.3.0 - GNU cc and gcc C compilers. - GPL-3.0-with-GCC-exception, GPL-3.0 - - - gcc - 6.3.0 - Runtime libraries from GCC. - GPL-3.0-with-GCC-exception - - - gdb - 7.12.1 - GNU debugger. - GPL-2.0, GPL-3.0, LGPL-2.0, LGPL-3.0 - - - gdbm - 1.12 - Key/value database library with extensible hashing. - GPL-3.0 - - - gdk-pixbuf - 2.36.5 - Image loading library for GTK+. - LGPL-2.0 - - - gettext-minimal - 0.19.8.1 - Contains the m4 macros sufficient to support building autoconf/automake. This provides a significant build time speedup by the removal of gettext-native from most dependency chains (now only needed for gettext for the target). - FSF-Unlimited - - - gettext - 0.19.8.1 - GNU gettext is a set of tools that provides a framework to help other programs produce multi-lingual messages. These tools include a set of conventions about how programs should be written to support message catalogs a directory and file naming organization for the message catalogs themselves a runtime library supporting the retrieval of translated messages and a few stand-alone programs to massage in various ways the sets of translatable and already translated strings. - GPL-3.0, LGPL-2.1 - - - git - 2.11.1 - Distributed version control system. - GPL-2.0 - - - glib-2.0 - 2.50.3 - GLib is a general-purpose utility library which provides many useful data types macros type conversions string utilities file utilities a main loop abstraction and so on. - LGPL-2.0, BSD - - - glibc-locale - 2.25 - Locale data from glibc. - GPL-2.0, LGPL-2.1 - - - glibc - 2.25 - The GNU C Library is used as the system C library in most systems with the Linux kernel. - GPL-2.0, LGPL-2.1 - - - gmp - 6.1.2 - GMP is a free library for arbitrary precision arithmetic operating on signed integers rational numbers and floating point numbers - GPL-2.0, LGPL-3.0 - - - gnome-desktop-testing - 2014.1 - Test runner for GNOME-style installed tests. - LGPL-2.0 - - - gnome-themes-standard - 3.22.2 - GTK+2 standard themes. - LGPL-2.1 - - - gnu-config - 20150728 - Tool that installs the GNU config.guess / config.sub into a directory tree - GPL-3.0-with-autoconf-exception - - - gnu-efi - 3.0.5 - Libraries for producing EFI binaries. - GPL-2.0, BSD-2-Clause - - - gnulib - 0.1.496 - A collection of software subroutines which are designed to be usable on many operating systems. The goal of the project is to make it easy for free software authors to make their software run on many operating systems. Since source is designed to be copied from gnulib it is not a library per-se as much as a collection of portable idioms to be used in other projects. - LGPL-2.0 - - - gnutls - 3.5.9 - GNU Transport Layer Security Library. - GPL-3.0, LGPL-2.1 - - - go-bootstrap - 1.4.3 - The Go programming language is an open source project to make programmers more productive. Go is expressive concise clean and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast statically typed compiled language that feels like a dynamically typed interpreted language. - BSD-3-Clause - - - go-capability - 0.0 - Utilities for manipulating POSIX capabilities in Go. - BSD-2-Clause - - - go-cli - 1.1.0 - A small package for building command line apps in Go - MIT - - - go-connections - 0.2.1 - Utility package to work with network connections - Apache-2.0 - - - go-context - git - A golang registry for global request variables. - BSD-3-Clause - - - go-cross-x86_64 - 1.8 - The Go programming language is an open source project to make programmers more productive. Go is expressive concise clean and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast statically typed compiled language that feels like a dynamically typed interpreted language. - BSD-3-Clause - - - go-dbus - 4.0.0 - Native Go bindings for D-Bus - BSD-2-Clause - - - go-distribution - 2.6.0 - The Docker toolset to pack ship store and deliver content - Apache-2.0 - - - go-fsnotify - 1.2.11 - A golang registry for global request variables. - BSD-3-Clause - - - go-libtrust - 0.0 - Primitives for identity and authorization - Apache-2.0 - - - go-logrus - 0.11.0 - A golang registry for global request variables. - MIT - - - go-mux - git - A powerful URL router and dispatcher for golang. - BSD-3-Clause - - - go-patricia - 2.2.6 - A generic patricia trie (also called radix tree) implemented in Go (Golang) - MIT - - - go-pty - git - PTY interface for Go - MIT - - - go-systemd - 4 - Go bindings to systemd socket activation journal D-Bus and unit files - Apache-2.0 - - - gobject-introspection - 1.50.0 - Middleware layer between GObject-using C libraries and language bindings. - LGPL-2.0, GPL-2.0 - - - gperf - 3.0.4 - GNU gperf is a perfect hash function generator - GPL-3.0 - - - gptfdisk - 1.0.1 - GPT fdisk is a disk partitioning tool loosely modeled on Linux fdisk but used for modifying GUID Partition Table (GPT) disks. The related FixParts utility fixes some common problems on Master Boot Record (MBR) disks. - GPL-2.0 - - - grep - 3.0 - GNU grep utility. - GPL-3.0 - - - groff - 1.22.3 - The groff (GNU troff) software is a typesetting package which reads plain text mixed with formatting commands and produces formatted output. - GPL-3.0 - - - grpc-go - 1.4.0 - The Go language implementation of gRPC. HTTP/2 based RPC - BSD - - - grub-efi - 2.00 - GRUB2 is the next generaion of a GPLed bootloader intended to unify bootloading across x86 operating systems. In addition to loading the Linux kernel it implements the Multiboot standard which allows for flexible loading of multiple boot images. - GPL-3.0 - - - grub - 2.00 - GRUB2 is the next generaion of a GPLed bootloader intended to unify bootloading across x86 operating systems. In addition to loading the Linux kernel it implements the Multiboot standard which allows for flexible loading of multiple boot images. - GPL-3.0 - - - gtk+ - 2.24.31 - GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets GTK+ is suitable for projects ranging from small one-off projects to complete application suites. - LGPL-2.0, LGPL-2.1 - - - gtk-doc - 1.25 - Gtk-doc is a set of scripts that extract specially formatted comments from glib-based software and produce a set of html documentation files from them - GPL-2.0 - - - gtk-icon-utils - 3.22.8 - gtk-update-icon-cache and gtk-encode-symbolic-svg built from GTK+ natively for build time and on-host postinst script execution. - LGPL-2.0, LGPL-2.1 - - - guile - 2.0.14 - Guile is the GNU Ubiquitous Intelligent Language for Extensions the official extension language for the GNU operating system. Guile is a library designed to help programmers create flexible applications. Using Guile in an application allows the application's functionality to be extended by users or other programmers with plug-ins modules or scripts. Guile provides what might be described as 'practical software freedom' making it possible for users to customize an application to meet their needs without digging into the application's internals. - GPL-3.0 - - - gzip - 1.8 - GNU Gzip is a popular data compression program originally written by Jean-loup Gailly for the GNU project. Mark Adler wrote the decompression part - GPL-3.0 - - - harfbuzz - 1.4.1 - HarfBuzz is an OpenType text shaping engine. - MIT - - - hicolor-icon-theme - 0.15 - Default icon theme that all icon themes automatically inherit from. - GPL-2.0 - - - iasl - 20160527 - This is a cross development C compiler assembler and linker environment for the production of 8086 executables (Optionally MSDOS COM) - Intel-ACPI - - - icu - 58.2 - The International Component for Unicode (ICU) is a mature portable set of C/C++ and Java libraries for Unicode support software internationalization (I18N) and globalization (G11N) giving applications the same results on all platforms. - ICU - - - initramfs-live-boot - 1.0 - Live image init script. - MIT - - - initramfs-live-install-efi - 1.0 - Live image install script for grub-efi. - MIT - - - initramfs-live-install - 1.0 - Live image install script for grub. - MIT - - - initscripts - 1.0 - Initscripts provide the basic system startup initialization scripts for the system. These scripts include actions such as filesystem mounting fsck RTC manipulation and other actions routinely performed at system startup. In addition the scripts are also used during system shutdown to reverse the actions performed at startup. - GPL-2.0 - - - inputproto - 2.3.2 - This package provides the wire protocol for the X Input extension. The extension supports input devices other then the core X keyboard and pointer. - MIT - - - intel-microcode - 20170511 - The microcode data file contains the latest microcode definitions for all Intel processors. Intel releases microcode updates to correct processor behavior as documented in the respective processor specification updates. While the regular approach to getting this microcode update is via a BIOS upgrade Intel realizes that this can be an administrative hassle. The Linux operating system and VMware ESX products have a mechanism to update the microcode after booting. For example this file will be used by the operating system mechanism if the file is placed in the /etc/firmware directory of the Linux system. - Intel-Microcode-License - - - intltool - 0.51.0 - Utility scripts for internationalizing XML. - GPL-2.0 - - - iproute2 - 4.10.0 - Iproute2 is a collection of utilities for controlling TCP / IP networking and traffic control in Linux. Of the utilities ip and tc are the most important. ip controls IPv4 and IPv6 configuration and tc stands for traffic control. - GPL-2.0 - - - iptables - 1.6.1 - iptables is the userspace command line program used to configure and control network packet filtering code in Linux. - GPL-2.0 - - - iucode-tool - 2.1.1 - iucode_tool is a program to manipulate Intel i686 and X86-64 processor microcode update collections and to use the kernel facilities to update the microcode on Intel system processors. It can load microcode data files in text and binary format sort list and filter the microcode updates contained in these files write selected microcode updates to a new file in binary format or upload them to the kernel. It operates on microcode data downloaded directly from Intel: http://feeds.downloadcenter.intel.com/rss/?p=2371 - GPL-2.0 - - - jansson - 2.9 - Jansson is a C library for encoding decoding and manipulating JSON data. - MIT - - - json-c - 0.12 - JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C. - MIT - - - kbd - 2.0.4 - Keytable files and keyboard utilities. - GPL-2.0 - - - kbproto - 1.0.7 - This package provides the wire protocol for the X Keyboard extension. This extension is used to control options related to keyboard handling and layout. - MIT - - - kern-tools - 0.2 - Tools for managing Yocto Project style branched kernels. - GPL-2.0 - - - kernel-devsrc - 1.0 - Development source linux kernel. When built this recipe packages the source of the preferred virtual/kernel provider and makes it available for full kernel development or external module builds - GPL-2.0 - - - keymaps - 1.0 - Keymaps and initscript to set the keymap on bootup. - GPL-2.0 - - - kmod - 23 - kmod is a set of tools to handle common tasks with Linux kernel modules like insert remove list check properties resolve dependencies and aliases. - GPL-2.0, LGPL-2.1 - - - latencytop - 0.5 - Linux tool for measuring and fixing latency. - GPL-2.0 - - - ldconfig - 2.12.1 - A standalone native ldconfig build. - GPL-2.0 - - - less - 487 - Less is a program similar to more i.e. a terminal based program for viewing text files and the output from other programs. Less offers many features beyond those that more does. - GPL-3.0, BSD-2-Clause - - - libaio - 0.3.110 - Asynchronous input/output library that uses the kernels native interface - LGPL-2.1 - - - libarchive - 3.2.2 - C library and command-line tools for reading and writing tar cpio zip ISO and other archive formats - BSD - - - libatomic-ops - 7.4.4 - A library for atomic integer operations. - GPL-2.0, MIT - - - libbsd - 0.8.3 - This library provides useful functions commonly found on BSD systems and lacking on others like GNU systems thus making it easier to port projects with strong BSD origins without needing to embed the same code over and over again on each project. - BSD-4-Clause, ISC, PD - - - libcap - 2.25 - Library for getting/setting POSIX.1e capabilities. - BSD, GPL-2.0 - - - libcgroup - 0.41 - libcgroup is a library that abstracts the control group file system in Linux. Control groups allow you to limit account and isolate resource usage (CPU memory disk I/O etc.) of groups of processes. - LGPL-2.1 - - - libcheck - 0.10.0 - Check - unit testing framework for C code. - LGPL-2.1 - - - libcroco - 0.6.11 - Cascading Style Sheet (CSS) parsing and manipulation toolkit. - LGPL-2.0, LGPL-2.1 - - - libdaemon - 0.14 - Lightweight C library which eases the writing of UNIX daemons. - LGPL-2.1 - - - libdevmapper - 2.02.166 - LVM2 is a set of utilities to manage logical volumes in Linux. - GPL-2.0, LGPL-2.0 - - - liberation-fonts - 1.04 - The Liberation(tm) Fonts is a font family originally created by Ascender(c) which aims at metric compatibility with Arial Times New Roman Courier New. - GPL-2.0 - - - libffi - 3.2.1 - The `libffi' library provides a portable high level programming interface to various calling conventions. This allows a programmer to call any function specified by a call interface description at run time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the interface that allows code written in one language to call code written in another language. The `libffi' library really only provides the lowest machine dependent layer of a fully featured foreign function interface. A layer must exist above `libffi' that handles type conversions for values passed between the two languages. - MIT - - - libgcc - 6.3.0 - GNU cc and gcc C compilers. - GPL-3.0-with-GCC-exception, GPL-3.0 - - - libgudev - 231 - GObject wrapper for libudev. - LGPL-2.1 - - - libice - 1.0.9 - The Inter-Client Exchange (ICE) protocol provides a generic framework for building protocols on top of reliable byte-stream transport connections. It provides basic mechanisms for setting up and shutting down connections for performing authentication for negotiating versions and for reporting errors. - MIT - - - libidn - 1.33 - Implementation of the Stringprep Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group. - LGPL-2.1, LGPL-3.0, GPL-3.0 - - - libjpeg-turbo - 1.5.1 - libjpeg-turbo is a derivative of libjpeg that uses SIMD instructions (MMX SSE2 NEON) to accelerate baseline JPEG compression and decompression - BSD-3-Clause - - - libmpc - 1.0.3 - Mpc is a C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result. It is built upon and follows the same principles as Mpfr - LGPL-3.0 - - - libndp - 1.6 - Library for IPv6 Neighbor Discovery Protocol. - LGPL-2.1 - - - libnewt - 0.52.19 - Newt is a programming library for color text mode widget based user interfaces. Newt can be used to add stacked windows entry widgets checkboxes radio buttons labels plain text fields scrollbars etc. to text mode user interfaces. This package also contains the shared library needed by programs built with newt as well as a /usr/bin/dialog replacement called whiptail. Newt is based on the slang library. - LGPL-2.0 - - - libnl - 3.2.29 - A library for applications dealing with netlink sockets. - LGPL-2.1 - - - libnss-mdns - 0.10 - Name Service Switch module for Multicast DNS (zeroconf) name resolution. - LGPL-2.1 - - - libpcap - 1.8.1 - Libpcap provides a portable framework for low-level network monitoring. Libpcap can provide network statistics collection security monitoring and network debugging. - BSD - - - libpciaccess - 0.13.4 - libpciaccess provides functionality for X to access the PCI bus and devices in a platform-independent way. - MIT - - - libpcre - 8.40 - The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. PCRE has its own native API as well as a set of wrapper functions that correspond to the POSIX regular expression API. - BSD - - - libpng - 1.6.28 - PNG image format decoding library. - Libpng - - - libpthread-stubs - 0.3 - This library provides weak aliases for pthread functions not provided in libc or otherwise available by default. - MIT - - - librsvg - 2.40.16 - Library for rendering SVG files. - LGPL-2.0 - - - libsdl - 1.2.15 - Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio keyboard mouse joystick 3D hardware via OpenGL and 2D video framebuffer. - LGPL-2.1 - - - libsm - 1.2.2 - "The Session Management Library (SMlib) is a low-level \""C\"" language interface to XSMP. The purpose of the X Session Management Protocol (XSMP) is to provide a uniform mechanism for users to save and restore their sessions. A session is a group of clients each of which has a particular state." - MIT - - - libtasn1 - 4.10 - Library for ASN.1 and DER manipulation. - GPL-3.0, LGPL-2.1 - - - libtool - 2.4.6 - This is GNU libtool a generic library support script. Libtool hides the complexity of generating special library types (such as shared libraries) behind a consistent interface. - GPL-2.0, LGPL-2.1 - - - libunistring - 0.9.7 - Text files are nowadays usually encoded in Unicode and may consist of very different scripts from Latin letters to Chinese Hanzi with many kinds of special characters accents right-to-left writing marks hyphens Roman numbers and much more. But the POSIX platform APIs for text do not contain adequate functions for dealing with particular properties of many Unicode characters. In fact the POSIX APIs for text have several assumptions at their base which don't hold for Unicode text. This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard. This package contains documentation. - LGPL-3.0, GPL-2.0 - - - liburcu - 0.9.3 - Userspace RCU (read-copy-update) library. - LGPL-2.1, MIT - - - libvirt - 1.3.5 - A toolkit to interact with the virtualization capabilities of recent versions of Linux. - LGPL-2.1, GPL-2.0 - - - libx11 - 1.6.4 - This package provides a client interface to the X Window System otherwise known as 'Xlib'. It provides a complete API for the basic functions of the window system. - MIT, BSD - - - libxau - 1.0.8 - libxau provides the main interfaces to the X11 authorisation handling which controls authorisation for X connections both client-side and server-side. - MIT - - - libxcb - 1.12 - The X protocol C-language Binding (XCB) is a replacement for Xlib featuring a small footprint latency hiding direct access to the protocol improved threading support and extensibility. - MIT - - - libxcomposite - 0.4.4 - The composite extension provides three related mechanisms: per-hierarchy storage automatic shadow update and external parent. In per-hierarchy storage the rendering of an entire hierarchy of windows is redirected to off-screen storage. In automatic shadow update when a hierarchy is rendered off-screen the X server provides an automatic mechanism for presenting those contents within the parent window. In external parent a mechanism for providing redirection of compositing transformations through a client. - MIT - - - libxcursor - 1.1.14 - Xcursor is a simple library designed to help locate and load cursors. Cursors can be loaded from files or memory. A library of common cursors exists which map to the standard X cursor names. Cursors can exist in several sizes and the library automatically picks the best size. - MIT - - - libxdamage - 1.1.4 - 'Damage' is a term that describes changes make to pixel contents of windows and pixmaps. Damage accumulates as drawing occurs in the drawable. Each drawing operation 'damages' one or more rectangular areas within the drawable. The rectangles are guaranteed to include the set of pixels modified by each operation but may include significantly more than just those pixels. The DAMAGE extension allows applications to either receive the raw rectangles as a stream of events or to have them partially processed within the X server to reduce the amount of data transmitted as well as reduce the processing latency once the repaint operation has started. - MIT - - - libxdmcp - 1.1.2 - The purpose of the X Display Manager Control Protocol (XDMCP) is to provide a uniform mechanism for an autonomous display to request login service from a remote host. An X terminal (screen keyboard mouse processor network interface) is a prime example of an autonomous display. - MIT - - - libxext - 1.3.3 - libXext provides an X Window System client interface to several extensions to the X protocol. The supported protocol extensions are DOUBLE-BUFFER DPMS Extended-Visual-Information LBX MIT_SHM MIT_SUNDRY-NONSTANDARD Multi-Buffering SECURITY SHAPE SYNC TOG-CUP XC-APPGROUP XC-MISC XTEST. libXext also provides a small set of utility functions to aid authors of client APIs for X protocol extensions. - MIT - - - libxfixes - 5.0.3 - X applications have often needed to work around various shortcomings in the core X window system. This extension is designed to provide the minimal server-side support necessary to eliminate problems caused by these workarounds. - MIT - - - libxft - 2.3.2 - Xft was designed to provide good support for scalable fonts and to do so efficiently. Unlike the core fonts system it supports features such as anti-aliasing and sub-pixel rasterisation. Perhaps more importantly it gives applications full control over the way glyphs are rendered making fine typesetting and WYSIWIG display possible. Finally it allows applications to use fonts that are not installed system-wide for displaying documents with embedded fonts. Xft is not compatible with the core fonts system: usage of Xft requires fairly extensive changes to toolkits (user-interface libraries). - MIT - - - libxkbcommon - 0.7.1 - libxkbcommon is a keymap compiler and support library which processes a reduced subset of keymaps as defined by the XKB specification. - MIT - - - libxml-parser-perl - 2.44 - XML::Parser - A perl module for parsing XML documents. - Artistic-1.0, GPL-1.0 - - - libxml2 - 2.9.4 - The XML Parser Library allows for manipulation of XML files. Libxml2 exports Push and Pull type parser interfaces for both XML and HTML. It can do DTD validation at parse time on a parsed document instance or with an arbitrary DTD. Libxml2 includes complete XPath XPointer and Xinclude implementations. It also has a SAX like interface which is designed to be compatible with Expat. - MIT - - - libxrandr - 1.5.1 - The X Resize Rotate and Reflect Extension called RandR for short brings the ability to resize rotate and reflect the root window of a screen. It is based on the X Resize and Rotate Extension as specified in the Proceedings of the 2001 Usenix Technical Conference [RANDR]. - MIT - - - libxrender - 0.9.10 - The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering geometric figures is accomplished by client-side tessellation into either triangles or trapezoids. Text is drawn by loading glyphs into the server and rendering sets of them. - MIT - - - libxslt - 1.1.29 - GNOME XSLT library. - MIT - - - linux-firmware - 0.0 - Firmware files for use with Linux kernel. - Redistributable binaries - - - linux-intel-sdk - 4.9.27 - Linux kernel. - GPL-2.0 - - - linux-intel - 4.9.27 - Linux kernel. - GPL-2.0 - - - linux-libc-headers - 4.10 - Sanitized set of kernel headers for the C library's use. - GPL-2.0 - - - linux-yocto - 4.9.21 - Linux kernel. - GPL-2.0 - - - lsb - 4.1 - LSB support for OpenEmbedded. - GPL-2.0 - - - lsbinitscripts - 9.68 - SysV init scripts which are only used in an LSB image. - GPL-2.0 - - - lttng-modules - 2.9.1 - The lttng-modules 2.0 package contains the kernel tracer modules - LGPL-2.1, GPL-2.0, MIT - - - lttng-tools - 2.9.4 - The Linux trace toolkit is a suite of tools designed to extract program execution details from the Linux operating system and interpret them. - GPL-2.0, LGPL-2.1 - - - lttng-ust - 2.9.0 - The LTTng UST 2.x package contains the userspace tracer library to trace userspace codes. - LGPL-2.1, MIT, GPL-2.0 - - - lvm2 - 2.02.166 - LVM2 is a set of utilities to manage logical volumes in Linux. - GPL-2.0, LGPL-2.0 - - - lxc - 2.0.0 - lxc aims to use these new functionnalities to provide an userspace container object - GPL-2.0 - - - lxd - git - "LXD is a container ""hypervisor"" and a new user experience for LXC Specifically it's made of three components: - A system-wide daemon (lxd) - A command line client (lxc) - An OpenStack Nova plugin (nova-compute-lxd)" - Apache-2.0 - - - lz4 - 131 - LZ4 is a very fast lossless compression algorithm providing compression speed at 400 MB/s per core scalable with multi-cores CPU. It also features an extremely fast decoder with speed in multiple GB/s per core typically reaching RAM speed limits on multi-core systems. - BSD - - - lzo - 2.09 - Lossless data compression library. - GPL-2.0 - - - lzop - 1.03 - lzop is a compression utility which is designed to be a companion to gzip. \nIt is based on the LZO data compression library and its main advantages over \ngzip are much higher compression and decompression speed at the cost of some \ncompression ratio. The lzop compression utility was designed with the goals \nof reliability speed portability and with reasonable drop-in compatibility \nto gzip. - GPL-2.0 - - - m4 - 1.4.18 - GNU m4 is an implementation of the traditional Unix macro processor. It is mostly SVR4 compatible although it has some extensions (for example handling more than 9 positional parameters to macros). GNU M4 also has built-in functions for including files running shell commands doing arithmetic etc. - GPL-3.0 - - - make - 4.2.1 - Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. Make gets its knowledge of how to build your program from a file called the makefile which lists each of the non-source files and how to compute it from other files. - GPL-3.0, LGPL-2.0 - - - makedepend - 1.0.5 - The makedepend program reads each sourcefile in sequence and parses it like a C-preprocessor processing all #include #define #undef #ifdef #ifndef #endif #if #elif and #else directives so that it can correctly tell which #include directives would be used in a compilation. Any #include directives can reference files having other #include directives and parsing will occur in these files as well. - MIT - - - makedevs - 1.0.1 - Tool for creating device nodes. - GPL-2.0 - - - man - 1.6g - A set of documentation tools: man apropos and whatis - GPL-2.0 - - - mklibs - 0.1.43 - mklibs produces cut-down shared libraries that contain only the routines required by a particular set of executables. - GPL-2.0 - - - mozjs - 17.0.0 - SpiderMonkey is Mozilla's JavaScript engine written in C/C++. - MPL-2.0 - - - mpfr - 3.1.5 - C library for multiple-precision floating-point computations with exact rounding. - GPL-3.0, LGPL-3.0 - - - mtools - 4.0.18 - Mtools is a collection of utilities to access MS-DOS disks from GNU and Unix without mounting them. - GPL-3.0 - - - nasm - 2.12.02 - General-purpose x86 assembler. - BSD-2-Clause - - - ncurses - 6.0 - SVr4 and XSI-Curses compatible curses library and terminfo tools including tic infocmp captoinfo. Supports color multiple highlights forms-drawing characters and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library. - MIT - - - netbase - 5.4 - This package provides the necessary infrastructure for basic TCP/IP based networking - GPL-2.0 - - - netcat-openbsd - 1.105 - A simple Unix utility which reads and writes data across network connections using TCP or UDP protocol. It is designed to be a reliable 'back-end' tool that can be used directly or easily driven by other programs and scripts. At the same time it is a feature-rich network debugging and exploration tool since it can create almost any kind of connection you would need and has several interesting built-in capabilities. - BSD-3-Clause - - - netcf - 0.2.8 - netcf is a cross-platform network configuration library. - LGPL-2.1 - - - nettle - 3.3 - A low level cryptographic library. - LGPL-3.0, GPL-2.0 - - - networkmanager - 1.4.4 - NetworkManager. - GPL-2.0 - - - notary - 0.4.2 - Notary is a Docker project that allows anyone to have trust over arbitrary collections of data - Apache-2.0 - - - nspr - 4.13.1 - Netscape Portable Runtime Library. - GPL-2.0, MPL-2.0, LGPL-2.1 - - - nss - 3.28.1 - Network Security Services (NSS) is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3 TLS PKCS 5 PKCS 7 PKCS 11 PKCS 12 S/MIME X.509 v3 certificates and other security standards. - MPL-2.0, GPL-2.0, MPL-2.0, LGPL-2.1 - - - odp-dpdk - 1.13.0.0 - OpenDataPlane (ODP-DPDK). - BSD-3-Clause - - - ofp - 2.0.0 - OpenFastPath. - BSD-3-Clause - - - openssl - 1.0.2k - Secure Socket Layer (SSL) binary and related cryptographic tools. - OpenSSL - - - openvswitch - 2.7.0 - Open vSwitch is a production quality multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension while still supporting standard management interfaces and protocols (e.g. NetFlow sFlow SPAN RSPAN CLI LACP 802.1ag) - Apache-2.0 - - - opkg-utils - 0.3.4 - Additional utilities for the opkg package manager. - GPL-2.0 - - - oprofile - 1.1.0 - OProfile is a system-wide profiler for Linux systems capable of profiling all running code at low overhead. - LGPL-2.1, GPL-2.0 - - - os-release - 1.0 - The /etc/os-release file contains operating system identification data. - MIT - - - ossp-uuid - 1.6.2 - OSSP uuid is a ISO-C:1999 application programming interface (API) and corresponding command line interface (CLI) for the generation of DCE 1.1 ISO/IEC 11578:1996 and RFC 4122 compliant Universally Unique Identifier (UUID). It supports DCE 1.1 variant UUIDs of version 1 (time and node based) version 3 (name based MD5) version 4 (random number based) and version 5 (name based SHA-1). - MIT - - - ovmf - git - OVMF - UEFI firmware for Qemu and KVM - BSD - - - packagegroup-core-boot - 1.0 - The minimal set of packages required to boot the system - MIT - - - packagegroup-core-ssh-dropbear - 1.0 - Dropbear SSH client/server. - MIT - - - packagegroup-enea-virtualization-docker - 1.0 - Packagegroup for Docker. - MIT - - - packagegroup-enea-virtualization-dpdk - 1.0 - Packagegroup for DPDK. - MIT - - - packagegroup-enea-virtualization-guest - 1.0 - This package group includes packages and packagegroups specific to the guest side of the Enea Linux Virtualization Profile. - MIT - - - packagegroup-enea-virtualization-host - 1.0 - This package group includes packages and packagegroups specific to the host side of the Enea Linux Virtualization Profile. - MIT - - - packagegroup-enea-virtualization-lxc - 1.0 - Packagegroup for LXC. - MIT - - - packagegroup-enea-virtualization-lxd - 1.0 - Packagegroup for LXD. - MIT - - - packagegroup-enea-virtualization-ofp - 1.0 - Packagegroup for OpenFastPath. - MIT - - - packagegroup-enea-virtualization-ovs - 1.0 - Packagegroup for Open vSwitch. - MIT - - - packagegroup-enea-virtualization-qemu - 1.0 - Packagegroup for QEMU. - MIT - - - packagegroup-enea-virtualization-tools - 1.0 - Enea Linux debugging tools. - MIT - - - packagegroup-enea-virtualization - 1.0 - This packagegroup includes packages and packagegroups required for both host and guest images of the Enea Linux Virtualization Profile. - MIT - - - pango - 1.40.3 - Pango is a library for laying out and rendering of text with an emphasis on internationalization. Pango can be used anywhere that text layout is needed though most of the work on Pango so far has been done in the context of the GTK+ widget toolkit. Pango forms the core of text and font handling for GTK+-2.x. - LGPL-2.0 - - - parted - 3.2 - Disk partition editing/resizing utility. - GPL-3.0 - - - partrt - 1.1 - partrt is a tool for dividing a SMP Linux system into a real time domain and a non-real time domain. - BSD - - - pbzip2 - 1.1.13 - PBZIP2 is a parallel implementation of the bzip2 block-sorting file compressor that uses pthreads and achieves near-linear speedup on SMP machines. The output of this version is fully compatible with bzip2 v1.0.2 or newer (ie: anything compressed with pbzip2 can be decompressed with bzip2). - BSD - - - pciutils - 3.5.2 - The PCI Utilities package contains a library for portable access to PCI bus configuration space and several utilities based on this library. - GPL-2.0 - - - perf - 1.0 - Performance counters for Linux are a new kernel-based subsystem that provide a framework for all things performance analysis. It covers hardware level (CPU/PMU Performance Monitoring Unit) features and software features (software counters tracepoints) as well. - GPL-2.0 - - - perl - 5.24.1 - Perl scripting language. - Artistic-1.0, GPL-1.0 - - - pigz - 2.3.4 - pigz which stands for parallel implementation of gzip is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler and uses the zlib and pthread libraries. - Zlib, Apache-2.0 - - - pixman - 0.34.0 - Pixman provides a library for manipulating pixel regions -- a set of Y-X banded rectangles image compositing using the Porter/Duff model and implicit mask generation for geometric primitives including trapezoids triangles and rectangles. - MIT, PD - - - pkgconfig - 0.29.1 - pkg-config is a helper tool used when compiling applications and libraries. It helps determined the correct compiler/link options. It is also language-agnostic. - GPL-2.0 - - - pm-utils - 1.4.1 - Simple shell command line tools to suspend and hibernate. - GPL-2.0 - - - polkit - 0.113 - The polkit package is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes. - LGPL-2.0 - - - popt - 1.16 - Library for parsing command line options. - MIT - - - prelink - 1.0 - The prelink package contains a utility which modifies ELF shared libraries and executables so that far fewer relocations need to be resolved at runtime and thus programs come up faster. - GPL-2.0 - - - procps - 3.3.12 - Procps contains a set of system utilities that provide system information about processes using the /proc filesystem. The package includes the programs ps top vmstat w kill and skill. - GPL-2.0, LGPL-2.0 - - - pseudo - 1.8.2 - Pseudo gives fake root capabilities to a normal user. - LGPL-2.1 - - - ptest-runner - 2.0.2 - The ptest-runner2 package installs a ptest-runner program which loops through all installed ptest test suites and runs them in sequence. - GPL-2.0 - - - python-netifaces - 0.10.6 - Portable network interface information.. - MIT - - - python-setuptools - 32.1.1 - Download build install upgrade and uninstall Python packages. - MIT - - - python-six - 1.10.0 - Python 2 and 3 compatibility utilities - MIT - - - python-twisted - 13.2.0 - Twisted is an event-driven networking framework written in Python and licensed under the LGPL. Twisted supports TCP UDP SSL/TLS multicast Unix sockets a large number of protocols (including HTTP NNTP IMAP SSH IRC FTP and others) and much more. - MIT - - - python-zopeinterface - 4.3.3 - Interface definitions for Zope products. - ZPL-2.1 - - - python - 2.7.13 - The Python Programming Language. - Python-2.0 - - - python3-setuptools - 32.1.1 - Download build install upgrade and uninstall Python packages. - MIT - - - python3 - 3.5.2 - The Python Programming Language. - Python-2.0 - - - qemu-helper - 1.0 - Helper utilities needed by the runqemu script. - GPL-2.0 - - - qemu - 2.8.0 - Fast open source processor emulator. - GPL-2.0, LGPL-2.1 - - - qemuwrapper - 1.0 - QEMU wrapper script. - MIT - - - quilt - 0.65 - Tool for working with series of patches. - GPL-2.0 - - - randrproto - 1.5.0 - This package provides the wire protocol for the X Resize Rotate and Reflect extension. This extension provides the ability to resize rotate and reflect the root window of a screen. - MIT - - - readline - 7.0 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are typed in. Both Emacs and vi editing modes are available. The Readline library includes additional functions to maintain a list of previously-entered command lines to recall and perhaps reedit those lines and perform csh-like history expansion on previous commands. - GPL-3.0 - - - renderproto - 0.11.1 - This package provides the wire protocol for the X Rendering extension. This is the basis the image composition within the X window system. - MIT - - - rmc-db - 1.0 - Generate a centralized RMC database for RMC feature. Fingerprints and data for all boards supported are specified by variable RMC_BOARD_DATA_DIRS which is a list of top directories that contains subdirectories for boards. Developers can add their top directories by appending them to this variable in a rmc-db.bbappend.Refer to rmc-db bbclass for more information. - MIT - - - rmc - 1.0 - RMC project provides a tool and libraries to identify types of hardware boards and access any file-based data specific to the board's type at runtime in a centralized way. Software (clients) can have a generic logic to query board-specific data from RMC without knowing the type of board. This make it possible to have a generic software work running on boards which require any quirks or customizations at a board or product level. - MIT - - - rpm - 4.13.90 - The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing uninstalling verifying querying and updating software packages. Each software package consists of an archive of files along with information about the package like its version a description etc. - GPL-2.0 - - - rsync - 3.1.2 - File synchronization tool. - GPL-3.0 - - - run-postinsts - 1.0 - Runs postinstall scripts on first boot of the target device. - MIT - - - runc-docker - 1.0.0-rc2 - runc is a CLI tool for spawning and running containers according to the OCI specification. - Apache-2.0 - - - sed - 4.2.2 - Stream EDitor (text filtering utility). - GPL-3.0 - - - shadow-securetty - 4.2.1 - Provider of the machine specific securetty file. - MIT - - - shadow-sysroot - 4.2.1 - Shadow utils requirements for useradd.bbclass. - BSD, Artistic-1.0 - - - shadow - 4.2.1 - Tools to change and administer password and group data. - BSD, Artistic-1.0 - - - shared-mime-info - 1.8 - Shared MIME type database and specification. - LGPL-2.0 - - - slang - 2.3.1a - S-Lang is an interpreted language and a programming library. The S-Lang language was designed so that it can be easily embedded into a program to provide the program with a powerful extension language. The S-Lang library provided in this package provides the S-Lang extension language. S-Lang's syntax resembles C which makes it easy to recode S-Lang procedures in C if you need to. - GPL-2.0 - - - sqlite3 - 3.17.0 - Embeddable SQL database engine. - PD - - - squashfs-tools - 4.3 - Tools for manipulating SquashFS filesystems. - GPL-2.0, PD - - - sysfsutils - 2.1.0 - Tools for working with the sysfs virtual filesystem. The tool 'systool' can query devices by bus class and topology. - GPL-2.0, LGPL-2.1 - - - syslinux - 6.03 - Multi-purpose linux bootloader. - GPL-2.0 - - - systemd-boot - 232 - systemd is a system and service manager for Linux compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities uses socket and D-Bus activation for starting services offers on-demand starting of daemons keeps track of processes using Linux cgroups supports snapshotting and restoring of the system state maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - GPL-2.0, LGPL-2.1 - - - systemd-compat-units - 1.0 - Enhances systemd compatilibity with existing SysVinit scripts. - MIT - - - systemd-serialgetty - 1.0 - Serial terminal support for systemd. - GPL-2.0 - - - systemd-systemctl - 1.0 - Wrapper for enabling systemd services. - MIT - - - systemd - 232 - systemd is a system and service manager for Linux compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities uses socket and D-Bus activation for starting services offers on-demand starting of daemons keeps track of processes using Linux cgroups supports snapshotting and restoring of the system state maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit. - GPL-2.0, LGPL-2.1 - - - systemtap - 3.1 - Script-directed dynamic tracing and performance analysis tool for Linux. - GPL-2.0 - - - tar - 1.29 - GNU tar saves many files together into a single tape or disk archive and can restore individual files from the archive. - GPL-3.0 - - - texinfo-dummy - 1.0 - Fake version of the texinfo utility suite. - MIT - - - thin-provisioning-tools - 0.6.3 - A suite of tools for manipulating the metadata of the dm-thin device-mapper target. - GPL-3.0 - - - tunctl - 1.5 - Tool for controlling the Linux TUN/TAP driver. - GPL-2.0 - - - tzcode - 2017b - tzcode timezone zoneinfo utils -- zic zdump tzselect. - PD, BSD, BSD-3-Clause - - - tzdata - 2017b - Timezone data. - PD, BSD, BSD-3-Clause - - - udev-extraconf - 1.1 - Extra machine specific configuration files for udev specifically blacklist information. - MIT - - - unifdef - 2.11 - Selectively remove #ifdef statements from sources. - BSD-2-Clause - - - update-rc.d - 0.7 - update-rc.d is a utility that allows the management of symlinks to the initscripts in the /etc/rcN.d directory structure. - GPL-2.0 - - - util-linux - 2.29.1 - Util-linux includes a suite of basic system administration utilities commonly found on most Linux systems. Some of the more important utilities include disk partitioning kernel message management filesystem creation and system login. - GPL-2.0, LGPL-2.1, BSD - - - util-macros - 1.19.1 - M4 autotools macros used by various X.org programs. - MIT - - - v86d - 0.1.10 - User support binary for the uvesafb kernel module. - GPL-2.0 - - - vala - 0.34.4 - Vala is a C#-like language dedicated to ease GObject programming. Vala compiles to plain C and has no runtime environment nor penalities whatsoever. - LGPL-2.1 - - - volatile-binds - 1.0 - Volatile bind mount setup and configuration for read-only-rootfs - MIT - - - wic-tools - 1.0 - A meta recipe to build native tools used by wic.. - MIT - - - xcb-proto - 1.12 - Function prototypes for the X protocol C-language Binding (XCB). XCB is a replacement for Xlib featuring a small footprint latency hiding direct access to the protocol improved threading support and extensibility. - MIT - - - xextproto - 7.3.0 - This package provides the wire protocol for several X extensions. These protocol extensions include DOUBLE-BUFFER DPMS Extended-Visual-Information LBX MIT_SHM MIT_SUNDRY-NONSTANDARD Multi-Buffering SECURITY SHAPE SYNC TOG-CUP XC-APPGROUP XC-MISC XTEST. In addition a small set of utility functions are also available. - MIT - - - xkeyboard-config - 2.20 - The non-arch keyboard configuration database for X Window. The goal is to provide the consistent well-structured frequently released open source of X keyboard configuration data for X Window System implementations. The project is targeted to XKB-based systems. - MIT - - - xmlto - 0.0.28 - A shell-script tool for converting XML files to various formats. - GPL-2.0 - - - xproto - 7.0.31 - This package provides the basic headers for the X Window System. - MIT - - - xtrans - 1.3.5 - The X Transport Interface is intended to combine all system and transport specific code into a single place. This API should be used by all libraries clients and servers of the X Window System. Use of this API should allow the addition of new types of transports and support for new platforms without making any changes to the source except in the X Transport Interface code. - MIT - - - xz - 5.2.3 - Utilities for managing LZMA compressed files. - GPL-2.0, LGPL-2.1, PD - - - yajl - 2.1.0 - YAJL is a small event-driven (SAX-style) JSON parser written in ANSI C and a small validating JSON generator. - ISC - - - zisofs-tools - 1.0.8 - Utilities for creating compressed CD-ROM filesystems. - GPL-2.0 - - - zlib - 1.2.11 - Zlib is a general-purpose patent-free lossless data compression library which is used by many different programs. - Zlib - - - - -
-
- Open Source Licenses -
-AFL-2.0 - - -The Academic Free License - v. 2.0 - -This Academic Free License (the "License") applies to any original work of authorship -(the "Original Work") whose owner (the "Licensor") has placed the following notice -immediately following the copyright notice for the Original Work: -Licensed under the Academic Free License version 2.0 - -1) Grant of Copyright License. Licensor hereby grants You a world-wide, royalty-free, -non-exclusive, perpetual, sublicenseable license to do the following: -a) to reproduce the Original Work in copies; - -b) to prepare derivative works ("Derivative Works") based upon the Original Work; - -c) to distribute copies of the Original Work and Derivative Works to the public; - -d) to perform the Original Work publicly; and - -e) to display the Original Work publicly. - -2) Grant of Patent License. Licensor hereby grants You a world-wide, royalty-free, -non-exclusive, perpetual, sublicenseable license, under patent claims owned or -controlled by the Licensor that are embodied in the Original Work as furnished by the -Licensor, to make, use, sell and offer for sale the Original Work and Derivative -Works. - -3) Grant of Source Code License. The term "Source Code" means the preferred form of -the Original Work for making modifications to it and all available documentation -describing how to modify the Original Work. Licensor hereby agrees to provide a -machine-readable copy of the Source Code of the Original Work along with each copy of -the Original Work that Licensor distributes. Licensor reserves the right to satisfy -this obligation by placing a machine-readable copy of the Source Code in an -information repository reasonably calculated to permit inexpensive and convenient -access by You for as long as Licensor continues to distribute the Original Work, and -by publishing the address of that information repository in a notice immediately -following the copyright notice that applies to the Original Work. - -4) Exclusions From License Grant. Neither the names of Licensor, nor the names of any -contributors to the Original Work, nor any of their trademarks or service marks, may -be used to endorse or promote products derived from this Original Work without express -prior written permission of the Licensor. Nothing in this License shall be deemed to -grant any rights to trademarks, copyrights, patents, trade secrets or any other -intellectual property of Licensor except as expressly stated herein. No patent -license is granted to make, use, sell or offer to sell embodiments of any patent -claims other than the licensed claims defined in Section 2. No right is granted to -the trademarks of Licensor even if such marks are included in the Original Work. -Nothing in this License shall be interpreted to prohibit Licensor from licensing under -different terms from this License any Original Work that Licensor otherwise would have -a right to license. - -5) This section intentionally omitted. - -6) Attribution Rights. You must retain, in the Source Code of any Derivative Works -that You create, all copyright, patent or trademark notices from the Source Code of -the Original Work, as well as any notices of licensing and any descriptive text -identified therein as an "Attribution Notice." You must cause the Source Code for any -Derivative Works that You create to carry a prominent Attribution Notice reasonably -calculated to inform recipients that You have modified the Original Work. - -7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the -copyright in and to the Original Work and the patent rights granted herein by Licensor -are owned by the Licensor or are sublicensed to You under the terms of this License -with the permission of the contributor(s) of those copyrights and patent rights. -Except as expressly stated in the immediately proceeding sentence, the Original Work -is provided under this License on an "AS IS" BASIS and WITHOUT WARRANTY, either -express or implied, including, without limitation, the warranties of NON-INFRINGEMENT, -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE -QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY constitutes an -essential part of this License. No license to Original Work is granted hereunder -except under this disclaimer. - -8) Limitation of Liability. Under no circumstances and under no legal theory, whether -in tort (including negligence), contract, or otherwise, shall the Licensor be liable -to any person for any direct, indirect, special, incidental, or consequential damages -of any character arising as a result of this License or the use of the Original Work -including, without limitation, damages for loss of goodwill, work stoppage, computer -failure or malfunction, or any and all other commercial damages or losses. This -limitation of liability shall not apply to liability for death or personal injury -resulting from Licensor`s negligence to the extent applicable law prohibits such -limitation. Some jurisdictions do not allow the exclusion or limitation of incidental -or consequential damages, so this exclusion and limitation may not apply to You. - -9) Acceptance and Termination. If You distribute copies of the Original Work or a -Derivative Work, You must make a reasonable effort under the circumstances to obtain -the express assent of recipients to the terms of this License. Nothing else but this -License (or another written agreement between Licensor and You) grants You permission -to create Derivative Works based upon the Original Work or to exercise any of the -rights granted in Section 1 herein, and any attempt to do so except under the terms of -this License (or another written agreement between Licensor and You) is expressly -prohibited by U.S. copyright law, the equivalent laws of other countries, and by -international treaty. Therefore, by exercising any of the rights granted to You in -Section 1 herein, You indicate Your acceptance of this License and all of its terms -and conditions. - -10) Termination for Patent Action. This License shall terminate automatically and You -may no longer exercise any of the rights granted to You by this License as of the date -You commence an action, including a cross-claim or counterclaim, for patent -infringement (i) against Licensor with respect to a patent applicable to software or -(ii) against any entity with respect to a patent applicable to the Original Work (but -excluding combinations of the Original Work with other software or hardware). - -11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this License -may be brought only in the courts of a jurisdiction wherein the Licensor resides or in -which Licensor conducts its primary business, and under the laws of that jurisdiction -excluding its conflict-of-law provisions. The application of the United Nations -Convention on Contracts for the International Sale of Goods is expressly excluded. -Any use of the Original Work outside the scope of this License or after its -termination shall be subject to the requirements and penalties of the U.S. Copyright -Act, 17 U.S.C. ¤ 101 et seq., the equivalent laws of other countries, and -international treaty. This section shall survive the termination of this License. - -12) Attorneys Fees. In any action to enforce the terms of this License or seeking -damages relating thereto, the prevailing party shall be entitled to recover its costs -and expenses, including, without limitation, reasonable attorneys` fees and costs -incurred in connection with such action, including any appeal of such action. This -section shall survive the termination of this License. - -13) Miscellaneous. This License represents the complete agreement concerning the -subject matter hereof. If any provision of this License is held to be unenforceable, -such provision shall be reformed only to the extent necessary to make it enforceable. - -14) Definition of "You" in This License. "You" throughout this License, whether in -upper or lower case, means an individual or a legal entity exercising rights under, -and complying with all of the terms of, this License. For legal entities, "You" -includes any entity that controls, is controlled by, or is under common control with -you. For purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by contract or -otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, -or (iii) beneficial ownership of such entity. - -15) Right to Use. You may use the Original Work in all ways not otherwise restricted -or conditioned by this License or by law, and Licensor promises not to interfere with -or be responsible for such uses by You. - -This license is Copyright (C) 2003 Lawrence E. Rosen. All rights reserved. -Permission is hereby granted to copy and distribute this license without modification. -This license may not be modified without the express written permission of its -copyright owner. - -
- -
-Apache-2.0 - - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don`t include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -
- -
-Artistic-1.0 - - -The Artistic License -Preamble - -The intent of this document is to state the conditions under which a Package may be -copied, such that the Copyright Holder maintains some semblance of artistic control -over the development of the package, while giving the users of the package the right -to use and distribute the Package in a more-or-less customary fashion, plus the right -to make reasonable modifications. - -Definitions: - -"Package" refers to the collection of files distributed by the Copyright Holder, and -derivatives of that collection of files created through textual modification. -"Standard Version" refers to such a Package if it has not been modified, or has been -modified in accordance with the wishes of the Copyright Holder. -"Copyright Holder" is whoever is named in the copyright or copyrights for the package. -"You" is you, if you`re thinking about copying or distributing this Package. -"Reasonable copying fee" is whatever you can justify on the basis of media cost, -duplication charges, time of people involved, and so on. (You will not be required to -justify it to the Copyright Holder, but only to the computing community at large as a -market that must bear the fee.) -"Freely Available" means that no fee is charged for the item itself, though there may -be fees involved in handling the item. It also means that recipients of the item may -redistribute it under the same conditions they received it. -1. You may make and give away verbatim copies of the source form of the Standard -Version of this Package without restriction, provided that you duplicate all of the -original copyright notices and associated disclaimers. - -2. You may apply bug fixes, portability fixes and other modifications derived from the -Public Domain or from the Copyright Holder. A Package modified in such a way shall -still be considered the Standard Version. - -3. You may otherwise modify your copy of this Package in any way, provided that you -insert a prominent notice in each changed file stating how and when you changed that -file, and provided that you do at least ONE of the following: - -a) place your modifications in the Public Domain or otherwise make them Freely -Available, such as by posting said modifications to Usenet or an equivalent medium, or -placing the modifications on a major archive site such as ftp.uu.net, or by allowing -the Copyright Holder to include your modifications in the Standard Version of the -Package. - -b) use the modified Package only within your corporation or organization. - -c) rename any non-standard executables so the names do not conflict with standard -executables, which must also be provided, and provide a separate manual page for each -non-standard executable that clearly documents how it differs from the Standard -Version. - -d) make other distribution arrangements with the Copyright Holder. - -4. You may distribute the programs of this Package in object code or executable form, -provided that you do at least ONE of the following: - -a) distribute a Standard Version of the executables and library files, together with -instructions (in the manual page or equivalent) on where to get the Standard Version. - -b) accompany the distribution with the machine-readable source of the Package with -your modifications. - -c) accompany any non-standard executables with their corresponding Standard Version -executables, giving the non-standard executables non-standard names, and clearly -documenting the differences in manual pages (or equivalent), together with -instructions on where to get the Standard Version. - -d) make other distribution arrangements with the Copyright Holder. - -5. You may charge a reasonable copying fee for any distribution of this Package. You -may charge any fee you choose for support of this Package. You may not charge a fee -for this Package itself. However, you may distribute this Package in aggregate with -other (possibly commercial) programs as part of a larger (possibly commercial) -software distribution provided that you do not advertise this Package as a product of -your own. - -6. The scripts and library files supplied as input to or produced as output from the -programs of this Package do not automatically fall under the copyright of this -Package, but belong to whomever generated them, and may be sold commercially, and may -be aggregated with this Package. - -7. C or perl subroutines supplied by you and linked into this Package shall not be -considered part of this Package. - -8. The name of the Copyright Holder may not be used to endorse or promote products -derived from this software without specific prior written permission. - -9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, -INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS -FOR A PARTICULAR PURPOSE. - -The End - -
- -
-BSD - -Copyright (c) The Regents of the University of California. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. -
- -
-BSD-2-Clause - - -The FreeBSD Copyright - -Copyright 1992-2010 The FreeBSD Project. All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or other materials -provided with the distribution. -THIS SOFTWARE IS PROVIDED BY THE FREEBSD PROJECT ``AS IS`` AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD -PROJECT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -The views and conclusions contained in the software and documentation are those of the -authors and should not be interpreted as representing official policies, either -expressed or implied, of the FreeBSD Project. - -
- -
-BSD-3-Clause - - -Copyright (c) <YEAR>, <OWNER> -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are -permitted provided that the following conditions are met: - -Redistributions of source code must retain the above copyright notice, this list of -conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright notice, this list of -conditions and the following disclaimer in the documentation and/or other materials -provided with the distribution. -Neither the name of the <ORGANIZATION> nor the names of its contributors may be -used to endorse or promote products derived from this software without specific prior -written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT -SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY -WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH -DAMAGE. - -
- -
-BSD-4-Clause - - -Copyright (c) <year>, <copyright holder> -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - This product includes software developed by the <organization>. -4. Neither the name of the <organization> nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY <COPYRIGHT HOLDER> ``AS IS`` AND ANY -EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -
- -
-BSL-1.0 - - -Boost Software License - Version 1.0 - August 17th, 2003 - -Permission is hereby granted, free of charge, to any person or organization -obtaining a copy of the software and accompanying documentation covered by -this license (the "Software") to use, reproduce, display, distribute, -execute, and transmit the Software, and to prepare derivative works of the -Software, and to permit third-parties to whom the Software is furnished to -do so, all subject to the following: - -The copyright notices in the Software and this entire statement, including -the above license grant, this restriction and the following disclaimer, -must be included in all copies of the Software, in whole or in part, and -all derivative works of the Software, unless such copies or derivative -works are solely in the form of machine-executable object code generated by -a source language processor. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT -SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE -FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. - -
- -
-Elfutils-Exception - - This file describes the limits of the Exception under which you are allowed - to distribute Non-GPL Code in linked combination with Red Hat elfutils. - For the full text of the license, please see one of the header files - included with the source distribution or the file COPYING found in the - top level directory of the source. - - The Approved Interfaces are the functions declared in the files: - - libelf.h - libdw.h - libdwfl.h - -
- -
-FSF-Unlimited - -Copyright (C) 1997-2010 Free Software Foundation, Inc. -This file is free software; the Free Software Foundation -gives unlimited permission to copy and/or distribute it, -with or without modifications, as long as this notice is preserved. -
- -
-FreeType - - The FreeType Project LICENSE - ---------------------------- - - 2006-Jan-27 - - Copyright 1996-2002, 2006 by - David Turner, Robert Wilhelm, and Werner Lemberg - - - -Introduction -============ - - The FreeType Project is distributed in several archive packages; - some of them may contain, in addition to the FreeType font engine, - various tools and contributions which rely on, or relate to, the - FreeType Project. - - This license applies to all files found in such packages, and - which do not fall under their own explicit license. The license - affects thus the FreeType font engine, the test programs, - documentation and makefiles, at the very least. - - This license was inspired by the BSD, Artistic, and IJG - (Independent JPEG Group) licenses, which all encourage inclusion - and use of free software in commercial and freeware products - alike. As a consequence, its main points are that: - - o We don't promise that this software works. However, we will be - interested in any kind of bug reports. (`as is' distribution) - - o You can use this software for whatever you want, in parts or - full form, without having to pay us. (`royalty-free' usage) - - o You may not pretend that you wrote this software. If you use - it, or only parts of it, in a program, you must acknowledge - somewhere in your documentation that you have used the - FreeType code. (`credits') - - We specifically permit and encourage the inclusion of this - software, with or without modifications, in commercial products. - We disclaim all warranties covering The FreeType Project and - assume no liability related to The FreeType Project. - - - Finally, many people asked us for a preferred form for a - credit/disclaimer to use in compliance with this license. We thus - encourage you to use the following text: - - """ - Portions of this software are copyright � <year> The FreeType - Project (www.freetype.org). All rights reserved. - """ - - Please replace <year> with the value from the FreeType version you - actually use. - - -Legal Terms -=========== - -0. Definitions --------------- - - Throughout this license, the terms `package', `FreeType Project', - and `FreeType archive' refer to the set of files originally - distributed by the authors (David Turner, Robert Wilhelm, and - Werner Lemberg) as the `FreeType Project', be they named as alpha, - beta or final release. - - `You' refers to the licensee, or person using the project, where - `using' is a generic term including compiling the project's source - code as well as linking it to form a `program' or `executable'. - This program is referred to as `a program using the FreeType - engine'. - - This license applies to all files distributed in the original - FreeType Project, including all source code, binaries and - documentation, unless otherwise stated in the file in its - original, unmodified form as distributed in the original archive. - If you are unsure whether or not a particular file is covered by - this license, you must contact us to verify this. - - The FreeType Project is copyright (C) 1996-2000 by David Turner, - Robert Wilhelm, and Werner Lemberg. All rights reserved except as - specified below. - -1. No Warranty --------------- - - THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY - KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS - BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO - USE, OF THE FREETYPE PROJECT. - -2. Redistribution ------------------ - - This license grants a worldwide, royalty-free, perpetual and - irrevocable right and license to use, execute, perform, compile, - display, copy, create derivative works of, distribute and - sublicense the FreeType Project (in both source and object code - forms) and derivative works thereof for any purpose; and to - authorize others to exercise some or all of the rights granted - herein, subject to the following conditions: - - o Redistribution of source code must retain this license file - (`FTL.TXT') unaltered; any additions, deletions or changes to - the original files must be clearly indicated in accompanying - documentation. The copyright notices of the unaltered, - original files must be preserved in all copies of source - files. - - o Redistribution in binary form must provide a disclaimer that - states that the software is based in part of the work of the - FreeType Team, in the distribution documentation. We also - encourage you to put an URL to the FreeType web page in your - documentation, though this isn't mandatory. - - These conditions apply to any software derived from or based on - the FreeType Project, not just the unmodified files. If you use - our work, you must acknowledge us. However, no fee need be paid - to us. - -3. Advertising --------------- - - Neither the FreeType authors and contributors nor you shall use - the name of the other for commercial, advertising, or promotional - purposes without specific prior written permission. - - We suggest, but do not require, that you use one or more of the - following phrases to refer to this software in your documentation - or advertising materials: `FreeType Project', `FreeType Engine', - `FreeType library', or `FreeType Distribution'. - - As you have not signed this license, you are not required to - accept it. However, as the FreeType Project is copyrighted - material, only this license, or another one contracted with the - authors, grants you the right to use, distribute, and modify it. - Therefore, by using, distributing, or modifying the FreeType - Project, you indicate that you understand and accept all the terms - of this license. - -4. Contacts ------------ - - There are two mailing lists related to FreeType: - - o freetype@nongnu.org - - Discusses general use and applications of FreeType, as well as - future and wanted additions to the library and distribution. - If you are looking for support, start in this list if you - haven't found anything to help you in the documentation. - - o freetype-devel@nongnu.org - - Discusses bugs, as well as engine internals, design issues, - specific licenses, porting, etc. - - Our home page can be found at - - http://www.freetype.org - - ---- end of FTL.TXT --- - -
- -
-GPL-1.0 - - -GNU General Public License, version 1 - - GNU GENERAL PUBLIC LICENSE - Version 1, February 1989 - - Copyright (C) 1989 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The license agreements of most software companies try to keep users -at the mercy of those companies. By contrast, our General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. The -General Public License applies to the Free Software Foundation`s -software and to any other program whose authors commit to using it. -You can use it for your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Specifically, the General Public License is designed to make -sure that you have the freedom to give away or sell copies of free -software, that you receive source code or can get it if you want it, -that you can change the software or use pieces of it in new free -programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of a such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must tell them their rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author`s protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors` reputations. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any program or other work which -contains a notice placed by the copyright holder saying it may be -distributed under the terms of this General Public License. The -"Program", below, refers to any such program or work, and a "work based -on the Program" means either the Program or any work containing the -Program or a portion of it, either verbatim or with modifications. Each -licensee is addressed as "you". - - 1. You may copy and distribute verbatim copies of the Program`s source -code as you receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice and -disclaimer of warranty; keep intact all the notices that refer to this -General Public License and to the absence of any warranty; and give any -other recipients of the Program a copy of this General Public License -along with the Program. You may charge a fee for the physical act of -transferring a copy. - - 2. You may modify your copy or copies of the Program or any portion of -it, and copy and distribute such modifications under the terms of Paragraph -1 above, provided that you also do the following: - - a) cause the modified files to carry prominent notices stating that - you changed the files and the date of any change; and - - b) cause the whole of any work that you distribute or publish, that - in whole or in part contains the Program or any part thereof, either - with or without modifications, to be licensed at no charge to all - third parties under the terms of this General Public License (except - that you may choose to grant warranty protection to some or all - third parties, at your option). - - c) If the modified program normally reads commands interactively when - run, you must cause it, when started running for such interactive use - in the simplest and most usual way, to print or display an - announcement including an appropriate copyright notice and a notice - that there is no warranty (or else, saying that you provide a - warranty) and that users may redistribute the program under these - conditions, and telling the user how to view a copy of this General - Public License. - - d) You may charge a fee for the physical act of transferring a - copy, and you may at your option offer warranty protection in - exchange for a fee. - -Mere aggregation of another independent work with the Program (or its -derivative) on a volume of a storage or distribution medium does not bring -the other work under the scope of these terms. - - 3. You may copy and distribute the Program (or a portion or derivative of -it, under Paragraph 2) in object code or executable form under the terms of -Paragraphs 1 and 2 above provided that you also do one of the following: - - a) accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of - Paragraphs 1 and 2 above; or, - - b) accompany it with a written offer, valid for at least three - years, to give any third party free (except for a nominal charge - for the cost of distribution) a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of - Paragraphs 1 and 2 above; or, - - c) accompany it with the information you received as to where the - corresponding source code may be obtained. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form alone.) - -Source code for a work means the preferred form of the work for making -modifications to it. For an executable file, complete source code means -all the source code for all modules it contains; but, as a special -exception, it need not include source code for modules which are standard -libraries that accompany the operating system on which the executable -file runs, or for standard header files or definitions files that -accompany that operating system. - - 4. You may not copy, modify, sublicense, distribute or transfer the -Program except as expressly provided under this General Public License. -Any attempt otherwise to copy, modify, sublicense, distribute or transfer -the Program is void, and will automatically terminate your rights to use -the Program under this License. However, parties who have received -copies, or rights to use copies, from you under this General Public -License will not have their licenses terminated so long as such parties -remain in full compliance. - - 5. By copying, distributing or modifying the Program (or any work based -on the Program) you indicate your acceptance of this license to do so, -and all its terms and conditions. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the original -licensor to copy, distribute or modify the Program subject to these -terms and conditions. You may not impose any further restrictions on the -recipients` exercise of the rights granted herein. - - 7. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of the license which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -the license, you may choose any version ever published by the Free Software -Foundation. - - 8. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - Appendix: How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to humanity, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - <one line to give the program`s name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 1, or (at your option) - any later version. - - 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19xx name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w`. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c` for details. - -The hypothetical commands `show w` and `show c` should show the -appropriate parts of the General Public License. Of course, the -commands you use may be called something other than `show w` and `show -c`; they could even be mouse-clicks or menu items--whatever suits your -program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - program `Gnomovision` (a program to direct compilers to make passes - at assemblers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -That`s all there is to it! - -
- -
-GPL-2.0 - - -GNU GENERAL PUBLIC LICENSE - -Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. -Preamble - -The licenses for most software are designed to take away your freedom to share and -change it. By contrast, the GNU General Public License is intended to guarantee your -freedom to share and change free software--to make sure the software is free for all -its users. This General Public License applies to most of the Free Software -Foundation`s software and to any other program whose authors commit to using it. (Some -other Free Software Foundation software is covered by the GNU Lesser General Public -License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General -Public Licenses are designed to make sure that you have the freedom to distribute -copies of free software (and charge for this service if you wish), that you receive -source code or can get it if you want it, that you can change the software or use -pieces of it in new free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone to deny you -these rights or to ask you to surrender the rights. These restrictions translate to -certain responsibilities for you if you distribute copies of the software, or if you -modify it. - -For example, if you distribute copies of such a program, whether gratis or for a fee, -you must give the recipients all the rights that you have. You must make sure that -they, too, receive or can get the source code. And you must show them these terms so -they know their rights. - -We protect your rights with two steps: (1) copyright the software, and (2) offer you -this license which gives you legal permission to copy, distribute and/or modify the -software. - -Also, for each author`s protection and ours, we want to make certain that everyone -understands that there is no warranty for this free software. If the software is -modified by someone else and passed on, we want its recipients to know that what they -have is not the original, so that any problems introduced by others will not reflect -on the original authors` reputations. - -Finally, any free program is threatened constantly by software patents. We wish to -avoid the danger that redistributors of a free program will individually obtain patent -licenses, in effect making the program proprietary. To prevent this, we have made it -clear that any patent must be licensed for everyone`s free use or not licensed at all. - -The precise terms and conditions for copying, distribution and modification follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a notice placed by -the copyright holder saying it may be distributed under the terms of this General -Public License. The "Program", below, refers to any such program or work, and a "work -based on the Program" means either the Program or any derivative work under copyright -law: that is to say, a work containing the Program or a portion of it, either verbatim -or with modifications and/or translated into another language. (Hereinafter, -translation is included without limitation in the term "modification".) Each licensee -is addressed as "you". - -Activities other than copying, distribution and modification are not covered by this -License; they are outside its scope. The act of running the Program is not restricted, -and the output from the Program is covered only if its contents constitute a work -based on the Program (independent of having been made by running the Program). Whether -that is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program`s source code as you -receive it, in any medium, provided that you conspicuously and appropriately publish -on each copy an appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any warranty; and -give any other recipients of the Program a copy of this License along with the -Program. - -You may charge a fee for the physical act of transferring a copy, and you may at your -option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of it, thus -forming a work based on the Program, and copy and distribute such modifications or -work under the terms of Section 1 above, provided that you also meet all of these -conditions: - -a) You must cause the modified files to carry prominent notices stating that you -changed the files and the date of any change. -b) You must cause any work that you distribute or publish, that in whole or in part -contains or is derived from the Program or any part thereof, to be licensed as a whole -at no charge to all third parties under the terms of this License. -c) If the modified program normally reads commands interactively when run, you must -cause it, when started running for such interactive use in the most ordinary way, to -print or display an announcement including an appropriate copyright notice and a -notice that there is no warranty (or else, saying that you provide a warranty) and -that users may redistribute the program under these conditions, and telling the user -how to view a copy of this License. (Exception: if the Program itself is interactive -but does not normally print such an announcement, your work based on the Program is -not required to print an announcement.) -These requirements apply to the modified work as a whole. If identifiable sections of -that work are not derived from the Program, and can be reasonably considered -independent and separate works in themselves, then this License, and its terms, do not -apply to those sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on the Program, -the distribution of the whole must be on the terms of this License, whose permissions -for other licensees extend to the entire whole, and thus to each and every part -regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to -work written entirely by you; rather, the intent is to exercise the right to control -the distribution of derivative or collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program with the -Program (or with a work based on the Program) on a volume of a storage or distribution -medium does not bring the other work under the scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under Section 2) in -object code or executable form under the terms of Sections 1 and 2 above provided that -you also do one of the following: - -a) Accompany it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a medium customarily -used for software interchange; or, -b) Accompany it with a written offer, valid for at least three years, to give any -third party, for a charge no more than your cost of physically performing source -distribution, a complete machine-readable copy of the corresponding source code, to be -distributed under the terms of Sections 1 and 2 above on a medium customarily used for -software interchange; or, -c) Accompany it with the information you received as to the offer to distribute -corresponding source code. (This alternative is allowed only for noncommercial -distribution and only if you received the program in object code or executable form -with such an offer, in accord with Subsection b above.) -The source code for a work means the preferred form of the work for making -modifications to it. For an executable work, complete source code means all the source -code for all modules it contains, plus any associated interface definition files, plus -the scripts used to control compilation and installation of the executable. However, -as a special exception, the source code distributed need not include anything that is -normally distributed (in either source or binary form) with the major components -(compiler, kernel, and so on) of the operating system on which the executable runs, -unless that component itself accompanies the executable. - -If distribution of executable or object code is made by offering access to copy from a -designated place, then offering equivalent access to copy the source code from the -same place counts as distribution of the source code, even though third parties are -not compelled to copy the source along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program except as expressly -provided under this License. Any attempt otherwise to copy, modify, sublicense or -distribute the Program is void, and will automatically terminate your rights under -this License. However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such parties remain in -full compliance. - -5. You are not required to accept this License, since you have not signed it. However, -nothing else grants you permission to modify or distribute the Program or its -derivative works. These actions are prohibited by law if you do not accept this -License. Therefore, by modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and all its terms and -conditions for copying, distributing or modifying the Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the Program), the -recipient automatically receives a license from the original licensor to copy, -distribute or modify the Program subject to these terms and conditions. You may not -impose any further restrictions on the recipients` exercise of the rights granted -herein. You are not responsible for enforcing compliance by third parties to this -License. - -7. If, as a consequence of a court judgment or allegation of patent infringement or -for any other reason (not limited to patent issues), conditions are imposed on you -(whether by court order, agreement or otherwise) that contradict the conditions of -this License, they do not excuse you from the conditions of this License. If you -cannot distribute so as to satisfy simultaneously your obligations under this License -and any other pertinent obligations, then as a consequence you may not distribute the -Program at all. For example, if a patent license would not permit royalty-free -redistribution of the Program by all those who receive copies directly or indirectly -through you, then the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under any particular -circumstance, the balance of the section is intended to apply and the section as a -whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other -property right claims or to contest validity of any such claims; this section has the -sole purpose of protecting the integrity of the free software distribution system, -which is implemented by public license practices. Many people have made generous -contributions to the wide range of software distributed through that system in -reliance on consistent application of that system; it is up to the author/donor to -decide if he or she is willing to distribute software through any other system and a -licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a consequence -of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in certain countries -either by patents or by copyrighted interfaces, the original copyright holder who -places the Program under this License may add an explicit geographical distribution -limitation excluding those countries, so that distribution is permitted only in or -among countries not thus excluded. In such case, this License incorporates the -limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions of the General -Public License from time to time. Such new versions will be similar in spirit to the -present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies a -version number of this License which applies to it and "any later version", you have -the option of following the terms and conditions either of that version or of any -later version published by the Free Software Foundation. If the Program does not -specify a version number of this License, you may choose any version ever published by -the Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free programs whose -distribution conditions are different, write to the author to ask for permission. For -software which is copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our decision will be -guided by the two goals of preserving the free status of all derivatives of our free -software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE -PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN -WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT -WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE -RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM -PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE -OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE -WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to -the public, the best way to achieve this is to make it free software which everyone -can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them to -the start of each source file to most effectively convey the exclusion of warranty; -and each file should have at least the "copyright" line and a pointer to where the -full notice is found. - -one line to give the program`s name and an idea of what it does. -Copyright (C) yyyy name of author - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -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 General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this when it starts -in an interactive mode: - -Gnomovision version 69, Copyright (C) year name of author -Gnomovision comes with ABSOLUTELY NO WARRANTY; for details -type `show w`. This is free software, and you are welcome -to redistribute it under certain conditions; type `show c` -for details. -The hypothetical commands `show w` and `show c` should show the appropriate parts of -the General Public License. Of course, the commands you use may be called something -other than `show w` and `show c`; they could even be mouse-clicks or menu -items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your school, if -any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; -alter the names: - -Yoyodyne, Inc., hereby disclaims all copyright -interest in the program `Gnomovision` -(which makes passes at compilers) written -by James Hacker. - -signature of Ty Coon, 1 April 1989 -Ty Coon, President of Vice -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may consider it -more useful to permit linking proprietary applications with the library. If this is -what you want to do, use the GNU Lesser General Public License instead of this -License. - -
- -
-GPL-3.0 - -GNU GENERAL PUBLIC LICENSE - -Version 3, 29 June 2007 - -Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/> - -Everyone is permitted to copy and distribute verbatim copies of this license document, -but changing it is not allowed. -Preamble - -The GNU General Public License is a free, copyleft license for software and other -kinds of works. - -The licenses for most software and other practical works are designed to take away -your freedom to share and change the works. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change all versions of a -program--to make sure it remains free software for all its users. We, the Free -Software Foundation, use the GNU General Public License for most of our software; it -applies also to any other work released this way by its authors. You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not price. Our General -Public Licenses are designed to make sure that you have the freedom to distribute -copies of free software (and charge for them if you wish), that you receive source -code or can get it if you want it, that you can change the software or use pieces of -it in new free programs, and that you know you can do these things. - -To protect your rights, we need to prevent others from denying you these rights or -asking you to surrender the rights. Therefore, you have certain responsibilities if -you distribute copies of the software, or if you modify it: responsibilities to -respect the freedom of others. - -For example, if you distribute copies of such a program, whether gratis or for a fee, -you must pass on to the recipients the same freedoms that you received. You must make -sure that they, too, receive or can get the source code. And you must show them these -terms so they know their rights. - -Developers that use the GNU GPL protect your rights with two steps: (1) assert -copyright on the software, and (2) offer you this License giving you legal permission -to copy, distribute and/or modify it. - -For the developers' and authors' protection, the GPL clearly explains that there is no -warranty for this free software. For both users' and authors' sake, the GPL requires -that modified versions be marked as changed, so that their problems will not be -attributed erroneously to authors of previous versions. - -Some devices are designed to deny users access to install or run modified versions of -the software inside them, although the manufacturer can do so. This is fundamentally -incompatible with the aim of protecting users' freedom to change the software. The -systematic pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we have designed -this version of the GPL to prohibit the practice for those products. If such problems -arise substantially in other domains, we stand ready to extend this provision to those -domains in future versions of the GPL, as needed to protect the freedom of users. - -Finally, every program is threatened constantly by software patents. States should not -allow patents to restrict development and use of software on general-purpose -computers, but in those that do, we wish to avoid the special danger that patents -applied to a free program could make it effectively proprietary. To prevent this, the -GPL assures that patents cannot be used to render the program non-free. - -The precise terms and conditions for copying, distribution and modification follow. -TERMS AND CONDITIONS -0. Definitions. - -”This License” refers to version 3 of the GNU General Public License. - -”Copyright” also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - -”The Program” refers to any copyrightable work licensed under this -License. Each licensee is addressed as ”you”. ”Licensees” -and ”recipients” may be individuals or organizations. - -To ”modify” a work means to copy from or adapt all or part of the work in -a fashion requiring copyright permission, other than the making of an exact copy. The -resulting work is called a ”modified version” of the earlier work or a -work ”based on” the earlier work. - -A ”covered work” means either the unmodified Program or a work based on -the Program. - -To ”propagate” a work means to do anything with it that, without -permission, would make you directly or secondarily liable for infringement under -applicable copyright law, except executing it on a computer or modifying a private -copy. Propagation includes copying, distribution (with or without modification), -making available to the public, and in some countries other activities as well. - -To ”convey” a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through a computer -network, with no transfer of a copy, is not conveying. - -An interactive user interface displays ”Appropriate Legal Notices” to the -extent that it includes a convenient and prominently visible feature that (1) displays -an appropriate copyright notice, and (2) tells the user that there is no warranty for -the work (except to the extent that warranties are provided), that licensees may -convey the work under this License, and how to view a copy of this License. If the -interface presents a list of user commands or options, such as a menu, a prominent -item in the list meets this criterion. -1. Source Code. - -The ”source code” for a work means the preferred form of the work for -making modifications to it. ”Object code” means any non-source form of a -work. - -A ”Standard Interface” means an interface that either is an official -standard defined by a recognized standards body, or, in the case of interfaces -specified for a particular programming language, one that is widely used among -developers working in that language. - -The ”System Libraries” of an executable work include anything, other than -the work as a whole, that (a) is included in the normal form of packaging a Major -Component, but which is not part of that Major Component, and (b) serves only to -enable use of the work with that Major Component, or to implement a Standard Interface -for which an implementation is available to the public in source code form. A -”Major Component”, in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system (if any) on which -the executable work runs, or a compiler used to produce the work, or an object code -interpreter used to run it. - -The ”Corresponding Source” for a work in object code form means all the -source code needed to generate, install, and (for an executable work) run the object -code and to modify the work, including scripts to control those activities. However, -it does not include the work's System Libraries, or general-purpose tools or generally -available free programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source includes interface -definition files associated with source files for the work, and the source code for -shared libraries and dynamically linked subprograms that the work is specifically -designed to require, such as by intimate data communication or control flow between -those subprograms and other parts of the work. - -The Corresponding Source need not include anything that users can regenerate -automatically from other parts of the Corresponding Source. - -The Corresponding Source for a work in source code form is that same work. -2. Basic Permissions. - -All rights granted under this License are granted for the term of copyright on the -Program, and are irrevocable provided the stated conditions are met. This License -explicitly affirms your unlimited permission to run the unmodified Program. The output -from running a covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your rights of fair use -or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not convey, without -conditions so long as your license otherwise remains in force. You may convey covered -works to others for the sole purpose of having them make modifications exclusively for -you, or provide you with facilities for running those works, provided that you comply -with the terms of this License in conveying all material for which you do not control -copyright. Those thus making or running the covered works for you must do so -exclusively on your behalf, under your direction and control, on terms that prohibit -them from making any copies of your copyrighted material outside their relationship -with you. - -Conveying under any other circumstances is permitted solely under the conditions -stated below. Sublicensing is not allowed; section 10 makes it unnecessary. -3. Protecting Users' Legal Rights From Anti-Circumvention Law. - -No covered work shall be deemed part of an effective technological measure under any -applicable law fulfilling obligations under article 11 of the WIPO copyright treaty -adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention -of such measures. - -When you convey a covered work, you waive any legal power to forbid circumvention of -technological measures to the extent such circumvention is effected by exercising -rights under this License with respect to the covered work, and you disclaim any -intention to limit operation or modification of the work as a means of enforcing, -against the work's users, your or third parties' legal rights to forbid circumvention -of technological measures. -4. Conveying Verbatim Copies. - -You may convey verbatim copies of the Program's source code as you receive it, in any -medium, provided that you conspicuously and appropriately publish on each copy an -appropriate copyright notice; keep intact all notices stating that this License and -any non-permissive terms added in accord with section 7 apply to the code; keep intact -all notices of the absence of any warranty; and give all recipients a copy of this -License along with the Program. - -You may charge any price or no price for each copy that you convey, and you may offer -support or warranty protection for a fee. -5. Conveying Modified Source Versions. - -You may convey a work based on the Program, or the modifications to produce it from -the Program, in the form of source code under the terms of section 4, provided that -you also meet all of these conditions: - - * a) The work must carry prominent notices stating that you modified it, and -giving a relevant date. - * b) The work must carry prominent notices stating that it is released under this -License and any conditions added under section 7. This requirement modifies the -requirement in section 4 to ”keep intact all notices”. - * c) You must license the entire work, as a whole, under this License to anyone -who comes into possession of a copy. This License will therefore apply, along with any -applicable section 7 additional terms, to the whole of the work, and all its parts, -regardless of how they are packaged. This License gives no permission to license the -work in any other way, but it does not invalidate such permission if you have -separately received it. - * d) If the work has interactive user interfaces, each must display Appropriate -Legal Notices; however, if the Program has interactive interfaces that do not display -Appropriate Legal Notices, your work need not make them do so. - -A compilation of a covered work with other separate and independent works, which are -not by their nature extensions of the covered work, and which are not combined with it -such as to form a larger program, in or on a volume of a storage or distribution -medium, is called an ”aggregate” if the compilation and its resulting -copyright are not used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work in an aggregate -does not cause this License to apply to the other parts of the aggregate. -6. Conveying Non-Source Forms. - -You may convey a covered work in object code form under the terms of sections 4 and 5, -provided that you also convey the machine-readable Corresponding Source under the -terms of this License, in one of these ways: - - * a) Convey the object code in, or embodied in, a physical product (including a -physical distribution medium), accompanied by the Corresponding Source fixed on a -durable physical medium customarily used for software interchange. - * b) Convey the object code in, or embodied in, a physical product (including a -physical distribution medium), accompanied by a written offer, valid for at least -three years and valid for as long as you offer spare parts or customer support for -that product model, to give anyone who possesses the object code either (1) a copy of -the Corresponding Source for all the software in the product that is covered by this -License, on a durable physical medium customarily used for software interchange, for a -price no more than your reasonable cost of physically performing this conveying of -source, or (2) access to copy the Corresponding Source from a network server at no -charge. - * c) Convey individual copies of the object code with a copy of the written offer -to provide the Corresponding Source. This alternative is allowed only occasionally and -noncommercially, and only if you received the object code with such an offer, in -accord with subsection 6b. - * d) Convey the object code by offering access from a designated place (gratis or -for a charge), and offer equivalent access to the Corresponding Source in the same way -through the same place at no further charge. You need not require recipients to copy -the Corresponding Source along with the object code. If the place to copy the object -code is a network server, the Corresponding Source may be on a different server -(operated by you or a third party) that supports equivalent copying facilities, -provided you maintain clear directions next to the object code saying where to find -the Corresponding Source. Regardless of what server hosts the Corresponding Source, -you remain obligated to ensure that it is available for as long as needed to satisfy -these requirements. - * e) Convey the object code using peer-to-peer transmission, provided you inform -other peers where the object code and Corresponding Source of the work are being -offered to the general public at no charge under subsection 6d. - -A separable portion of the object code, whose source code is excluded from the -Corresponding Source as a System Library, need not be included in conveying the object -code work. - -A ”User Product” is either (1) a ”consumer product”, which -means any tangible personal property which is normally used for personal, family, or -household purposes, or (2) anything designed or sold for incorporation into a -dwelling. In determining whether a product is a consumer product, doubtful cases shall -be resolved in favor of coverage. For a particular product received by a particular -user, ”normally used” refers to a typical or common use of that class of -product, regardless of the status of the particular user or of the way in which the -particular user actually uses, or expects or is expected to use, the product. A -product is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent the only -significant mode of use of the product. - -”Installation Information” for a User Product means any methods, -procedures, authorization keys, or other information required to install and execute -modified versions of a covered work in that User Product from a modified version of -its Corresponding Source. The information must suffice to ensure that the continued -functioning of the modified object code is in no case prevented or interfered with -solely because modification has been made. - -If you convey an object code work under this section in, or with, or specifically for -use in, a User Product, and the conveying occurs as part of a transaction in which the -right of possession and use of the User Product is transferred to the recipient in -perpetuity or for a fixed term (regardless of how the transaction is characterized), -the Corresponding Source conveyed under this section must be accompanied by the -Installation Information. But this requirement does not apply if neither you nor any -third party retains the ability to install modified object code on the User Product -(for example, the work has been installed in ROM). - -The requirement to provide Installation Information does not include a requirement to -continue to provide support service, warranty, or updates for a work that has been -modified or installed by the recipient, or for the User Product in which it has been -modified or installed. Access to a network may be denied when the modification itself -materially and adversely affects the operation of the network or violates the rules -and protocols for communication across the network. - -Corresponding Source conveyed, and Installation Information provided, in accord with -this section must be in a format that is publicly documented (and with an -implementation available to the public in source code form), and must require no -special password or key for unpacking, reading or copying. -7. Additional Terms. - -”Additional permissions” are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. Additional -permissions that are applicable to the entire Program shall be treated as though they -were included in this License, to the extent that they are valid under applicable law. -If additional permissions apply only to part of the Program, that part may be used -separately under those permissions, but the entire Program remains governed by this -License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option remove any additional -permissions from that copy, or from any part of it. (Additional permissions may be -written to require their own removal in certain cases when you modify the work.) You -may place additional permissions on material, added by you to a covered work, for -which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you add to a covered -work, you may (if authorized by the copyright holders of that material) supplement the -terms of this License with terms: - - * a) Disclaiming warranty or limiting liability differently from the terms of -sections 15 and 16 of this License; or - * b) Requiring preservation of specified reasonable legal notices or author -attributions in that material or in the Appropriate Legal Notices displayed by works -containing it; or - * c) Prohibiting misrepresentation of the origin of that material, or requiring -that modified versions of such material be marked in reasonable ways as different from -the original version; or - * d) Limiting the use for publicity purposes of names of licensors or authors of -the material; or - * e) Declining to grant rights under trademark law for use of some trade names, -trademarks, or service marks; or - * f) Requiring indemnification of licensors and authors of that material by anyone -who conveys the material (or modified versions of it) with contractual assumptions of -liability to the recipient, for any liability that these contractual assumptions -directly impose on those licensors and authors. - -All other non-permissive additional terms are considered ”further -restrictions” within the meaning of section 10. If the Program as you received -it, or any part of it, contains a notice stating that it is governed by this License -along with a term that is a further restriction, you may remove that term. If a -license document contains a further restriction but permits relicensing or conveying -under this License, you may add to a covered work material governed by the terms of -that license document, provided that the further restriction does not survive such -relicensing or conveying. - -If you add terms to a covered work in accord with this section, you must place, in the -relevant source files, a statement of the additional terms that apply to those files, -or a notice indicating where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the form of a -separately written license, or stated as exceptions; the above requirements apply -either way. -8. Termination. - -You may not propagate or modify a covered work except as expressly provided under this -License. Any attempt otherwise to propagate or modify it is void, and will -automatically terminate your rights under this License (including any patent licenses -granted under the third paragraph of section 11). - -However, if you cease all violation of this License, then your license from a -particular copyright holder is reinstated (a) provisionally, unless and until the -copyright holder explicitly and finally terminates your license, and (b) permanently, -if the copyright holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - -Moreover, your license from a particular copyright holder is reinstated permanently if -the copyright holder notifies you of the violation by some reasonable means, this is -the first time you have received notice of violation of this License (for any work) -from that copyright holder, and you cure the violation prior to 30 days after your -receipt of the notice. - -Termination of your rights under this section does not terminate the licenses of -parties who have received copies or rights from you under this License. If your rights -have been terminated and not permanently reinstated, you do not qualify to receive new -licenses for the same material under section 10. -9. Acceptance Not Required for Having Copies. - -You are not required to accept this License in order to receive or run a copy of the -Program. Ancillary propagation of a covered work occurring solely as a consequence of -using peer-to-peer transmission to receive a copy likewise does not require -acceptance. However, nothing other than this License grants you permission to -propagate or modify any covered work. These actions infringe copyright if you do not -accept this License. Therefore, by modifying or propagating a covered work, you -indicate your acceptance of this License to do so. -10. Automatic Licensing of Downstream Recipients. - -Each time you convey a covered work, the recipient automatically receives a license -from the original licensors, to run, modify and propagate that work, subject to this -License. You are not responsible for enforcing compliance by third parties with this -License. - -An ”entity transaction” is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an organization, or -merging organizations. If propagation of a covered work results from an entity -transaction, each party to that transaction who receives a copy of the work also -receives whatever licenses to the work the party's predecessor in interest had or -could give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if the predecessor -has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the rights granted or -affirmed under this License. For example, you may not impose a license fee, royalty, -or other charge for exercise of rights granted under this License, and you may not -initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging -that any patent claim is infringed by making, using, selling, offering for sale, or -importing the Program or any portion of it. -11. Patents. - -A ”contributor” is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The work thus licensed -is called the contributor's ”contributor version”. - -A contributor's ”essential patent claims” are all patent claims owned or -controlled by the contributor, whether already acquired or hereafter acquired, that -would be infringed by some manner, permitted by this License, of making, using, or -selling its contributor version, but do not include claims that would be infringed -only as a consequence of further modification of the contributor version. For purposes -of this definition, ”control” includes the right to grant patent -sublicenses in a manner consistent with the requirements of this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free patent license -under the contributor's essential patent claims, to make, use, sell, offer for sale, -import and otherwise run, modify and propagate the contents of its contributor -version. - -In the following three paragraphs, a ”patent license” is any express -agreement or commitment, however denominated, not to enforce a patent (such as an -express permission to practice a patent or covenant not to sue for patent -infringement). To ”grant” such a patent license to a party means to make -such an agreement or commitment not to enforce a patent against the party. - -If you convey a covered work, knowingly relying on a patent license, and the -Corresponding Source of the work is not available for anyone to copy, free of charge -and under the terms of this License, through a publicly available network server or -other readily accessible means, then you must either (1) cause the Corresponding -Source to be so available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner consistent with -the requirements of this License, to extend the patent license to downstream -recipients. ”Knowingly relying” means you have actual knowledge that, but -for the patent license, your conveying the covered work in a country, or your -recipient's use of the covered work in a country, would infringe one or more -identifiable patents in that country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or arrangement, you convey, -or propagate by procuring conveyance of, a covered work, and grant a patent license to -some of the parties receiving the covered work authorizing them to use, propagate, -modify or convey a specific copy of the covered work, then the patent license you -grant is automatically extended to all recipients of the covered work and works based -on it. - -A patent license is ”discriminatory” if it does not include within the -scope of its coverage, prohibits the exercise of, or is conditioned on the -non-exercise of one or more of the rights that are specifically granted under this -License. You may not convey a covered work if you are a party to an arrangement with a -third party that is in the business of distributing software, under which you make -payment to the third party based on the extent of your activity of conveying the work, -and under which the third party grants, to any of the parties who would receive the -covered work from you, a discriminatory patent license (a) in connection with copies -of the covered work conveyed by you (or copies made from those copies), or (b) -primarily for and in connection with specific products or compilations that contain -the covered work, unless you entered into that arrangement, or that patent license was -granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting any implied -license or other defenses to infringement that may otherwise be available to you under -applicable patent law. -12. No Surrender of Others' Freedom. - -If conditions are imposed on you (whether by court order, agreement or otherwise) that -contradict the conditions of this License, they do not excuse you from the conditions -of this License. If you cannot convey a covered work so as to satisfy simultaneously -your obligations under this License and any other pertinent obligations, then as a -consequence you may not convey it at all. For example, if you agree to terms that -obligate you to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this License would be -to refrain entirely from conveying the Program. -13. Use with the GNU Affero General Public License. - -Notwithstanding any other provision of this License, you have permission to link or -combine any covered work with a work licensed under version 3 of the GNU Affero -General Public License into a single combined work, and to convey the resulting work. -The terms of this License will continue to apply to the part which is the covered -work, but the special requirements of the GNU Affero General Public License, section -13, concerning interaction through a network will apply to the combination as such. -14. Revised Versions of this License. - -The Free Software Foundation may publish revised and/or new versions of the GNU -General Public License from time to time. Such new versions will be similar in spirit -to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Program specifies that a -certain numbered version of the GNU General Public License ”or any later -version” applies to it, you have the option of following the terms and -conditions either of that numbered version or of any later version published by the -Free Software Foundation. If the Program does not specify a version number of the GNU -General Public License, you may choose any version ever published by the Free Software -Foundation. - -If the Program specifies that a proxy can decide which future versions of the GNU -General Public License can be used, that proxy's public statement of acceptance of a -version permanently authorizes you to choose that version for the Program. - -Later license versions may give you additional or different permissions. However, no -additional obligations are imposed on any author or copyright holder as a result of -your choosing to follow a later version. -15. Disclaimer of Warranty. - -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM ”AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE -QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE -DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. -16. Limitation of Liability. - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE -OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE -WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. -17. Interpretation of Sections 15 and 16. - -If the disclaimer of warranty and limitation of liability provided above cannot be -given local legal effect according to their terms, reviewing courts shall apply local -law that most closely approximates an absolute waiver of all civil liability in -connection with the Program, unless a warranty or assumption of liability accompanies -a copy of the Program in return for a fee. - -END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest possible use to -the public, the best way to achieve this is to make it free software which everyone -can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest to attach them to -the start of each source file to most effectively state the exclusion of warranty; and -each file should have at least the ”copyright” line and a pointer to -where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - 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 General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. - -Also add information on how to contact you by electronic and paper mail. - -If the program does terminal interaction, make it output a short notice like this when -it starts in an interactive mode: - - <program> Copyright (C) <year> <name of author> - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate parts of -the General Public License. Of course, your program's commands might be different; for -a GUI interface, you would use an ”about box”. - -You should also get your employer (if you work as a programmer) or school, if any, to -sign a ”copyright disclaimer” for the program, if necessary. For more -information on this, and how to apply and follow the GNU GPL, see -<http://www.gnu.org/licenses/>. - -The GNU General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may consider it -more useful to permit linking proprietary applications with the library. If this is -what you want to do, use the GNU Lesser General Public License instead of this -License. But first, please read -<http://www.gnu.org/philosophy/why-not-lgpl.html>. -
- -
-GPL-3.0-with-GCC-exception - - -insert GPL v3 text here - -GCC RUNTIME LIBRARY EXCEPTION -Version 3.1, 31 March 2009 - -General information: -http://www.gnu.org/licenses/gcc-exception.html -Copyright (C) 2009 Free Software Foundation, Inc. <http://fsf.org/> -Everyone is permitted to copy and distribute verbatim copies of this license document, -but changing it is not allowed. -This GCC Runtime Library Exception ("Exception") is an additional permission under -section 7 of the GNU General Public License, version 3 ("GPLv3"). It applies to a -given file (the "Runtime Library") that bears a notice placed by the copyright holder -of the file stating that the file is governed by GPLv3 along with this Exception. -When you use GCC to compile a program, GCC may combine portions of certain GCC header -files and runtime libraries with the compiled program. The purpose of this Exception -is to allow compilation of non-GPL (including proprietary) programs to use, in this -way, the header files and runtime libraries covered by this Exception. - -0. Definitions. -A file is an "Independent Module" if it either requires the Runtime Library for -execution after a Compilation Process, or makes use of an interface provided by the -Runtime Library, but is not otherwise based on the Runtime Library. -"GCC" means a version of the GNU Compiler Collection, with or without modifications, -governed by version 3 (or a specified later version) of the GNU General Public License -(GPL) with the option of using any subsequent versions published by the FSF. -"GPL-compatible Software" is software whose conditions of propagation, modification -and use would permit combination with GCC in accord with the license of GCC. -"Target Code" refers to output from any compiler for a real or virtual target -processor architecture, in executable form or suitable for input to an assembler, -loader, linker and/or execution phase. Notwithstanding that, Target Code does not -include data in any format that is used as a compiler intermediate representation, or -used for producing a compiler intermediate representation. -The "Compilation Process" transforms code entirely represented in non-intermediate -languages designed for human-written code, and/or in Java Virtual Machine byte code, -into Target Code. Thus, for example, use of source code generators and preprocessors -need not be considered part of the Compilation Process, since the Compilation Process -can be understood as starting with the output of the generators or preprocessors. -A Compilation Process is "Eligible" if it is done using GCC, alone or with other -GPL-compatible software, or if it is done without using any work based on GCC. For -example, using non-GPL-compatible Software to optimize any GCC intermediate -representations would not qualify as an Eligible Compilation Process. - -1. Grant of Additional Permission. -You have permission to propagate a work of Target Code formed by combining the Runtime -Library with Independent Modules, even if such propagation would otherwise violate the -terms of GPLv3, provided that all Target Code was generated by Eligible Compilation -Processes. You may then convey such a combination under terms of your choice, -consistent with the licensing of the Independent Modules. - -2. No Weakening of GCC Copyleft. -The availability of this Exception does not imply any general presumption that -third-party software is unaffected by the copyleft requirements of the license of GCC. - -
- -
-ICU - -COPYRIGHT AND PERMISSION NOTICE - -Copyright (c) 1995-2012 International Business Machines Corporation and others - -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy of this -software and associated documentation files (the "Software"), to deal in the Software -without restriction, including without limitation the rights to use, copy, modify, -merge, publish, distribute, and/or sell copies of the Software, and to permit persons -to whom the Software is furnished to do so, provided that the above copyright -notice(s) and this permission notice appear in all copies of the Software and that -both the above copyright notice(s) and this permission notice appear in supporting -documentation. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE -COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY -SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -Except as contained in this notice, the name of a copyright holder shall not be used -in advertising or otherwise to promote the sale, use or other dealings in this -Software without prior written authorization of the copyright holder. - -All trademarks and registered trademarks mentioned herein are the property of their -respective owners. -
- -
-ISC - - -ISC License: - -Copyright © 2004-2010 by Internet Systems Consortium, Inc. ("ISC") -Copyright © 1995-2003 by Internet Software Consortium - -Permission to use, copy, modify, and/or distribute this software for any purpose with -or without fee is hereby granted, provided that the above copyright notice and this -permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT -SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY -DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION -OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -THE USE OR PERFORMANCE OF THIS SOFTWARE. - -
- -
-LGPL-2.0 - -GNU LIBRARY GENERAL PUBLIC LICENSE - - - -Version 2, June 1991 - - - -Copyright (C) 1991 Free Software Foundation, Inc. - -51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA - -Everyone is permitted to copy and distribute verbatim copies - -of this license document, but changing it is not allowed. - - - -[This is the first released version of the library GPL. It is - - numbered 2 because it goes with version 2 of the ordinary GPL.] - -Preamble - - - -The licenses for most software are designed to take away your freedom to share and -change it. By contrast, the GNU General Public Licenses are intended to guarantee your -freedom to share and change free software--to make sure the software is free for all -its users. - - - -This license, the Library General Public License, applies to some specially designated -Free Software Foundation software, and to any other libraries whose authors decide to -use it. You can use it for your libraries, too. - - - -When we speak of free software, we are referring to freedom, not price. Our General -Public Licenses are designed to make sure that you have the freedom to distribute -copies of free software (and charge for this service if you wish), that you receive -source code or can get it if you want it, that you can change the software or use -pieces of it in new free programs; and that you know you can do these things. - - - -To protect your rights, we need to make restrictions that forbid anyone to deny you -these rights or to ask you to surrender the rights. These restrictions translate to -certain responsibilities for you if you distribute copies of the library, or if you -modify it. - - - -For example, if you distribute copies of the library, whether gratis or for a fee, you -must give the recipients all the rights that we gave you. You must make sure that -they, too, receive or can get the source code. If you link a program with the library, -you must provide complete object files to the recipients so that they can relink them -with the library, after making changes to the library and recompiling it. And you must -show them these terms so they know their rights. - - - -Our method of protecting your rights has two steps: (1) copyright the library, and (2) -offer you this license which gives you legal permission to copy, distribute and/or -modify the library. - - - -Also, for each distributor's protection, we want to make certain that everyone -understands that there is no warranty for this free library. If the library is -modified by someone else and passed on, we want its recipients to know that what they -have is not the original version, so that any problems introduced by others will not -reflect on the original authors' reputations. - - - -Finally, any free program is threatened constantly by software patents. We wish to -avoid the danger that companies distributing free software will individually obtain -patent licenses, thus in effect transforming the program into proprietary software. To -prevent this, we have made it clear that any patent must be licensed for everyone's -free use or not licensed at all. - - - -Most GNU software, including some libraries, is covered by the ordinary GNU General -Public License, which was designed for utility programs. This license, the GNU Library -General Public License, applies to certain designated libraries. This license is quite -different from the ordinary one; be sure to read it in full, and don't assume that -anything in it is the same as in the ordinary license. - - - -The reason we have a separate public license for some libraries is that they blur the -distinction we usually make between modifying or adding to a program and simply using -it. Linking a program with a library, without changing the library, is in some sense -simply using the library, and is analogous to running a utility program or application -program. However, in a textual and legal sense, the linked executable is a combined -work, a derivative of the original library, and the ordinary General Public License -treats it as such. - - - -Because of this blurred distinction, using the ordinary General Public License for -libraries did not effectively promote software sharing, because most developers did -not use the libraries. We concluded that weaker conditions might promote sharing -better. - - - -However, unrestricted linking of non-free programs would deprive the users of those -programs of all benefit from the free status of the libraries themselves. This Library -General Public License is intended to permit developers of non-free programs to use -free libraries, while preserving your freedom as a user of such programs to change the -free libraries that are incorporated in them. (We have not seen how to achieve this as -regards changes in header files, but we have achieved it as regards changes in the -actual functions of the Library.) The hope is that this will lead to faster -development of free libraries. - - - -The precise terms and conditions for copying, distribution and modification follow. -Pay close attention to the difference between a "work based on the library" and a -"work that uses the library". The former contains code derived from the library, while -the latter only works together with the library. - - - -Note that it is possible for a library to be covered by the ordinary General Public -License rather than by this special one. - - - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - - -0. This License Agreement applies to any software library which contains a notice -placed by the copyright holder or other authorized party saying it may be distributed -under the terms of this Library General Public License (also called "this License"). -Each licensee is addressed as "you". - - - -A "library" means a collection of software functions and/or data prepared so as to be -conveniently linked with application programs (which use some of those functions and -data) to form executables. - - - -The "Library", below, refers to any such software library or work which has been -distributed under these terms. A "work based on the Library" means either the Library -or any derivative work under copyright law: that is to say, a work containing the -Library or a portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is included without -limitation in the term "modification".) - - - -"Source code" for a work means the preferred form of the work for making modifications -to it. For a library, complete source code means all the source code for all modules -it contains, plus any associated interface definition files, plus the scripts used to -control compilation and installation of the library. - - - -Activities other than copying, distribution and modification are not covered by this -License; they are outside its scope. The act of running a program using the Library is -not restricted, and output from such a program is covered only if its contents -constitute a work based on the Library (independent of the use of the Library in a -tool for writing it). Whether that is true depends on what the Library does and what -the program that uses the Library does. - - - -1. You may copy and distribute verbatim copies of the Library's complete source code -as you receive it, in any medium, provided that you conspicuously and appropriately -publish on each copy an appropriate copyright notice and disclaimer of warranty; keep -intact all the notices that refer to this License and to the absence of any warranty; -and distribute a copy of this License along with the Library. - - - -You may charge a fee for the physical act of transferring a copy, and you may at your -option offer warranty protection in exchange for a fee. - - - -2. You may modify your copy or copies of the Library or any portion of it, thus -forming a work based on the Library, and copy and distribute such modifications or -work under the terms of Section 1 above, provided that you also meet all of these -conditions: - - - -a) The modified work must itself be a software library. - -b) You must cause the files modified to carry prominent notices stating that you -changed the files and the date of any change. - -c) You must cause the whole of the work to be licensed at no charge to all third -parties under the terms of this License. - -d) If a facility in the modified Library refers to a function or a table of data to be -supplied by an application program that uses the facility, other than as an argument -passed when the facility is invoked, then you must make a good faith effort to ensure -that, in the event an application does not supply such function or table, the facility -still operates, and performs whatever part of its purpose remains meaningful. - -(For example, a function in a library to compute square roots has a purpose that is -entirely well-defined independent of the application. Therefore, Subsection 2d -requires that any application-supplied function or table used by this function must be -optional: if the application does not supply it, the square root function must still -compute square roots.) - - - -These requirements apply to the modified work as a whole. If identifiable sections of -that work are not derived from the Library, and can be reasonably considered -independent and separate works in themselves, then this License, and its terms, do not -apply to those sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on the Library, -the distribution of the whole must be on the terms of this License, whose permissions -for other licensees extend to the entire whole, and thus to each and every part -regardless of who wrote it. - - - -Thus, it is not the intent of this section to claim rights or contest your rights to -work written entirely by you; rather, the intent is to exercise the right to control -the distribution of derivative or collective works based on the Library. - - - -In addition, mere aggregation of another work not based on the Library with the -Library (or with a work based on the Library) on a volume of a storage or distribution -medium does not bring the other work under the scope of this License. - - - -3. You may opt to apply the terms of the ordinary GNU General Public License instead -of this License to a given copy of the Library. To do this, you must alter all the -notices that refer to this License, so that they refer to the ordinary GNU General -Public License, version 2, instead of to this License. (If a newer version than -version 2 of the ordinary GNU General Public License has appeared, then you can -specify that version instead if you wish.) Do not make any other change in these -notices. - - - -Once this change is made in a given copy, it is irreversible for that copy, so the -ordinary GNU General Public License applies to all subsequent copies and derivative -works made from that copy. - - - -This option is useful when you wish to copy part of the code of the Library into a -program that is not a library. - - - -4. You may copy and distribute the Library (or a portion or derivative of it, under -Section 2) in object code or executable form under the terms of Sections 1 and 2 above -provided that you accompany it with the complete corresponding machine-readable source -code, which must be distributed under the terms of Sections 1 and 2 above on a medium -customarily used for software interchange. - - - -If distribution of object code is made by offering access to copy from a designated -place, then offering equivalent access to copy the source code from the same place -satisfies the requirement to distribute the source code, even though third parties are -not compelled to copy the source along with the object code. - - - -5. A program that contains no derivative of any portion of the Library, but is -designed to work with the Library by being compiled or linked with it, is called a -"work that uses the Library". Such a work, in isolation, is not a derivative work of -the Library, and therefore falls outside the scope of this License. - - - -However, linking a "work that uses the Library" with the Library creates an executable -that is a derivative of the Library (because it contains portions of the Library), -rather than a "work that uses the library". The executable is therefore covered by -this License. Section 6 states terms for distribution of such executables. - - - -When a "work that uses the Library" uses material from a header file that is part of -the Library, the object code for the work may be a derivative work of the Library even -though the source code is not. Whether this is true is especially significant if the -work can be linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - - -If such an object file uses only numerical parameters, data structure layouts and -accessors, and small macros and small inline functions (ten lines or less in length), -then the use of the object file is unrestricted, regardless of whether it is legally a -derivative work. (Executables containing this object code plus portions of the Library -will still fall under Section 6.) - - - -Otherwise, if the work is a derivative of the Library, you may distribute the object -code for the work under the terms of Section 6. Any executables containing that work -also fall under Section 6, whether or not they are linked directly with the Library -itself. - - - -6. As an exception to the Sections above, you may also compile or link a "work that -uses the Library" with the Library to produce a work containing portions of the -Library, and distribute that work under terms of your choice, provided that the terms -permit modification of the work for the customer's own use and reverse engineering for -debugging such modifications. - - - -You must give prominent notice with each copy of the work that the Library is used in -it and that the Library and its use are covered by this License. You must supply a -copy of this License. If the work during execution displays copyright notices, you -must include the copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one of these things: - - - -a) Accompany the work with the complete corresponding machine-readable source code for -the Library including whatever changes were used in the work (which must be -distributed under Sections 1 and 2 above); and, if the work is an executable linked -with the Library, with the complete machine-readable "work that uses the Library", as -object code and/or source code, so that the user can modify the Library and then -relink to produce a modified executable containing the modified Library. (It is -understood that the user who changes the contents of definitions files in the Library -will not necessarily be able to recompile the application to use the modified -definitions.) - -b) Accompany the work with a written offer, valid for at least three years, to give -the same user the materials specified in Subsection 6a, above, for a charge no more -than the cost of performing this distribution. - -c) If distribution of the work is made by offering access to copy from a designated -place, offer equivalent access to copy the above specified materials from the same -place. - -d) Verify that the user has already received a copy of these materials or that you -have already sent this user a copy. - -For an executable, the required form of the "work that uses the Library" must include -any data and utility programs needed for reproducing the executable from it. However, -as a special exception, the source code distributed need not include anything that is -normally distributed (in either source or binary form) with the major components -(compiler, kernel, and so on) of the operating system on which the executable runs, -unless that component itself accompanies the executable. - - - -It may happen that this requirement contradicts the license restrictions of other -proprietary libraries that do not normally accompany the operating system. Such a -contradiction means you cannot use both them and the Library together in an executable -that you distribute. - - - -7. You may place library facilities that are a work based on the Library side-by-side -in a single library together with other library facilities not covered by this -License, and distribute such a combined library, provided that the separate -distribution of the work based on the Library and of the other library facilities is -otherwise permitted, and provided that you do these two things: - - - -a) Accompany the combined library with a copy of the same work based on the Library, -uncombined with any other library facilities. This must be distributed under the terms -of the Sections above. - -b) Give prominent notice with the combined library of the fact that part of it is a -work based on the Library, and explaining where to find the accompanying uncombined -form of the same work. - -8. You may not copy, modify, sublicense, link with, or distribute the Library except -as expressly provided under this License. Any attempt otherwise to copy, modify, -sublicense, link with, or distribute the Library is void, and will automatically -terminate your rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses terminated so long -as such parties remain in full compliance. - - - -9. You are not required to accept this License, since you have not signed it. However, -nothing else grants you permission to modify or distribute the Library or its -derivative works. These actions are prohibited by law if you do not accept this -License. Therefore, by modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and all its terms and -conditions for copying, distributing or modifying the Library or works based on it. - - - -10. Each time you redistribute the Library (or any work based on the Library), the -recipient automatically receives a license from the original licensor to copy, -distribute, link with or modify the Library subject to these terms and conditions. You -may not impose any further restrictions on the recipients' exercise of the rights -granted herein. You are not responsible for enforcing compliance by third parties to -this License. - - - -11. If, as a consequence of a court judgment or allegation of patent infringement or -for any other reason (not limited to patent issues), conditions are imposed on you -(whether by court order, agreement or otherwise) that contradict the conditions of -this License, they do not excuse you from the conditions of this License. If you -cannot distribute so as to satisfy simultaneously your obligations under this License -and any other pertinent obligations, then as a consequence you may not distribute the -Library at all. For example, if a patent license would not permit royalty-free -redistribution of the Library by all those who receive copies directly or indirectly -through you, then the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - - - -If any portion of this section is held invalid or unenforceable under any particular -circumstance, the balance of the section is intended to apply, and the section as a -whole is intended to apply in other circumstances. - - - -It is not the purpose of this section to induce you to infringe any patents or other -property right claims or to contest validity of any such claims; this section has the -sole purpose of protecting the integrity of the free software distribution system -which is implemented by public license practices. Many people have made generous -contributions to the wide range of software distributed through that system in -reliance on consistent application of that system; it is up to the author/donor to -decide if he or she is willing to distribute software through any other system and a -licensee cannot impose that choice. - - - -This section is intended to make thoroughly clear what is believed to be a consequence -of the rest of this License. - - - -12. If the distribution and/or use of the Library is restricted in certain countries -either by patents or by copyrighted interfaces, the original copyright holder who -places the Library under this License may add an explicit geographical distribution -limitation excluding those countries, so that distribution is permitted only in or -among countries not thus excluded. In such case, this License incorporates the -limitation as if written in the body of this License. - - - -13. The Free Software Foundation may publish revised and/or new versions of the -Library General Public License from time to time. Such new versions will be similar in -spirit to the present version, but may differ in detail to address new problems or -concerns. - - - -Each version is given a distinguishing version number. If the Library specifies a -version number of this License which applies to it and "any later version", you have -the option of following the terms and conditions either of that version or of any -later version published by the Free Software Foundation. If the Library does not -specify a license version number, you may choose any version ever published by the -Free Software Foundation. - - - -14. If you wish to incorporate parts of the Library into other free programs whose -distribution conditions are incompatible with these, write to the author to ask for -permission. For software which is copyrighted by the Free Software Foundation, write -to the Free Software Foundation; we sometimes make exceptions for this. Our decision -will be guided by the two goals of preserving the free status of all derivatives of -our free software and of promoting the sharing and reuse of software generally. - - - -NO WARRANTY - - - -15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE -LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN -WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT -WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE -RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY -PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - - -16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE -OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE -WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - - -END OF TERMS AND CONDITIONS - - - -How to Apply These Terms to Your New Libraries - - - -If you develop a new library, and you want it to be of the greatest possible use to -the public, we recommend making it free software that everyone can redistribute and -change. You can do so by permitting redistribution under these terms (or, -alternatively, under the terms of the ordinary General Public License). - - - -To apply these terms, attach the following notices to the library. It is safest to -attach them to the start of each source file to most effectively convey the exclusion -of warranty; and each file should have at least the "copyright" line and a pointer to -where the full notice is found. - - - -one line to give the library's name and an idea of what it does. - -Copyright (C) year name of author - - - -This library is free software; you can redistribute it and/or - -modify it under the terms of the GNU Library General Public - -License as published by the Free Software Foundation; either - -version 2 of the License, or (at your option) any later version. - - - -This library 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 - -Library General Public License for more details. - - - -You should have received a copy of the GNU Library General Public - -License along with this library; if not, write to the - -Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - -Boston, MA 02110-1301, USA. - -Also add information on how to contact you by electronic and paper mail. - - - -You should also get your employer (if you work as a programmer) or your school, if -any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; -alter the names: - - - -Yoyodyne, Inc., hereby disclaims all copyright interest in - -the library `Frob' (a library for tweaking knobs) written - -by James Random Hacker. - - - -signature of Ty Coon, 1 April 1990 - -Ty Coon, President of Vice - -That's all there is to it! - -
- -
-LGPL-2.1 - - -GNU LESSER GENERAL PUBLIC LICENSE - -Version 2.1, February 1999 - -Copyright (C) 1991, 1999 Free Software Foundation, Inc. -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] -Preamble - -The licenses for most software are designed to take away your freedom to share and -change it. By contrast, the GNU General Public Licenses are intended to guarantee your -freedom to share and change free software--to make sure the software is free for all -its users. - -This license, the Lesser General Public License, applies to some specially designated -software packages--typically libraries--of the Free Software Foundation and other -authors who decide to use it. You can use it too, but we suggest you first think -carefully about whether this license or the ordinary General Public License is the -better strategy to use in any particular case, based on the explanations below. - -When we speak of free software, we are referring to freedom of use, not price. Our -General Public Licenses are designed to make sure that you have the freedom to -distribute copies of free software (and charge for this service if you wish); that you -receive source code or can get it if you want it; that you can change the software and -use pieces of it in new free programs; and that you are informed that you can do these -things. - -To protect your rights, we need to make restrictions that forbid distributors to deny -you these rights or to ask you to surrender these rights. These restrictions translate -to certain responsibilities for you if you distribute copies of the library or if you -modify it. - -For example, if you distribute copies of the library, whether gratis or for a fee, you -must give the recipients all the rights that we gave you. You must make sure that -they, too, receive or can get the source code. If you link other code with the -library, you must provide complete object files to the recipients, so that they can -relink them with the library after making changes to the library and recompiling it. -And you must show them these terms so they know their rights. - -We protect your rights with a two-step method: (1) we copyright the library, and (2) -we offer you this license, which gives you legal permission to copy, distribute and/or -modify the library. - -To protect each distributor, we want to make it very clear that there is no warranty -for the free library. Also, if the library is modified by someone else and passed on, -the recipients should know that what they have is not the original version, so that -the original author`s reputation will not be affected by problems that might be -introduced by others. - -Finally, software patents pose a constant threat to the existence of any free program. -We wish to make sure that a company cannot effectively restrict the users of a free -program by obtaining a restrictive license from a patent holder. Therefore, we insist -that any patent license obtained for a version of the library must be consistent with -the full freedom of use specified in this license. - -Most GNU software, including some libraries, is covered by the ordinary GNU General -Public License. This license, the GNU Lesser General Public License, applies to -certain designated libraries, and is quite different from the ordinary General Public -License. We use this license for certain libraries in order to permit linking those -libraries into non-free programs. - -When a program is linked with a library, whether statically or using a shared library, -the combination of the two is legally speaking a combined work, a derivative of the -original library. The ordinary General Public License therefore permits such linking -only if the entire combination fits its criteria of freedom. The Lesser General Public -License permits more lax criteria for linking other code with the library. - -We call this license the "Lesser" General Public License because it does Less to -protect the user`s freedom than the ordinary General Public License. It also provides -other free software developers Less of an advantage over competing non-free programs. -These disadvantages are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain special -circumstances. - -For example, on rare occasions, there may be a special need to encourage the widest -possible use of a certain library, so that it becomes a de-facto standard. To achieve -this, non-free programs must be allowed to use the library. A more frequent case is -that a free library does the same job as widely used non-free libraries. In this case, -there is little to gain by limiting the free library to free software only, so we use -the Lesser General Public License. - -In other cases, permission to use a particular library in non-free programs enables a -greater number of people to use a large body of free software. For example, permission -to use the GNU C Library in non-free programs enables many more people to use the -whole GNU operating system, as well as its variant, the GNU/Linux operating system. - -Although the Lesser General Public License is Less protective of the users` freedom, -it does ensure that the user of a program that is linked with the Library has the -freedom and the wherewithal to run that program using a modified version of the -Library. - -The precise terms and conditions for copying, distribution and modification follow. -Pay close attention to the difference between a "work based on the library" and a -"work that uses the library". The former contains code derived from the library, -whereas the latter must be combined with the library in order to run. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License Agreement applies to any software library or other program which -contains a notice placed by the copyright holder or other authorized party saying it -may be distributed under the terms of this Lesser General Public License (also called -"this License"). Each licensee is addressed as "you". - -A "library" means a collection of software functions and/or data prepared so as to be -conveniently linked with application programs (which use some of those functions and -data) to form executables. - -The "Library", below, refers to any such software library or work which has been -distributed under these terms. A "work based on the Library" means either the Library -or any derivative work under copyright law: that is to say, a work containing the -Library or a portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is included without -limitation in the term "modification".) - -"Source code" for a work means the preferred form of the work for making modifications -to it. For a library, complete source code means all the source code for all modules -it contains, plus any associated interface definition files, plus the scripts used to -control compilation and installation of the library. - -Activities other than copying, distribution and modification are not covered by this -License; they are outside its scope. The act of running a program using the Library is -not restricted, and output from such a program is covered only if its contents -constitute a work based on the Library (independent of the use of the Library in a -tool for writing it). Whether that is true depends on what the Library does and what -the program that uses the Library does. - -1. You may copy and distribute verbatim copies of the Library`s complete source code -as you receive it, in any medium, provided that you conspicuously and appropriately -publish on each copy an appropriate copyright notice and disclaimer of warranty; keep -intact all the notices that refer to this License and to the absence of any warranty; -and distribute a copy of this License along with the Library. - -You may charge a fee for the physical act of transferring a copy, and you may at your -option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Library or any portion of it, thus -forming a work based on the Library, and copy and distribute such modifications or -work under the terms of Section 1 above, provided that you also meet all of these -conditions: - -a) The modified work must itself be a software library. -b) You must cause the files modified to carry prominent notices stating that you -changed the files and the date of any change. -c) You must cause the whole of the work to be licensed at no charge to all third -parties under the terms of this License. -d) If a facility in the modified Library refers to a function or a table of data to be -supplied by an application program that uses the facility, other than as an argument -passed when the facility is invoked, then you must make a good faith effort to ensure -that, in the event an application does not supply such function or table, the facility -still operates, and performs whatever part of its purpose remains meaningful. -(For example, a function in a library to compute square roots has a purpose that is -entirely well-defined independent of the application. Therefore, Subsection 2d -requires that any application-supplied function or table used by this function must be -optional: if the application does not supply it, the square root function must still -compute square roots.) - -These requirements apply to the modified work as a whole. If identifiable sections of -that work are not derived from the Library, and can be reasonably considered -independent and separate works in themselves, then this License, and its terms, do not -apply to those sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on the Library, -the distribution of the whole must be on the terms of this License, whose permissions -for other licensees extend to the entire whole, and thus to each and every part -regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest your rights to -work written entirely by you; rather, the intent is to exercise the right to control -the distribution of derivative or collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library with the -Library (or with a work based on the Library) on a volume of a storage or distribution -medium does not bring the other work under the scope of this License. - -3. You may opt to apply the terms of the ordinary GNU General Public License instead -of this License to a given copy of the Library. To do this, you must alter all the -notices that refer to this License, so that they refer to the ordinary GNU General -Public License, version 2, instead of to this License. (If a newer version than -version 2 of the ordinary GNU General Public License has appeared, then you can -specify that version instead if you wish.) Do not make any other change in these -notices. - -Once this change is made in a given copy, it is irreversible for that copy, so the -ordinary GNU General Public License applies to all subsequent copies and derivative -works made from that copy. - -This option is useful when you wish to copy part of the code of the Library into a -program that is not a library. - -4. You may copy and distribute the Library (or a portion or derivative of it, under -Section 2) in object code or executable form under the terms of Sections 1 and 2 above -provided that you accompany it with the complete corresponding machine-readable source -code, which must be distributed under the terms of Sections 1 and 2 above on a medium -customarily used for software interchange. - -If distribution of object code is made by offering access to copy from a designated -place, then offering equivalent access to copy the source code from the same place -satisfies the requirement to distribute the source code, even though third parties are -not compelled to copy the source along with the object code. - -5. A program that contains no derivative of any portion of the Library, but is -designed to work with the Library by being compiled or linked with it, is called a -"work that uses the Library". Such a work, in isolation, is not a derivative work of -the Library, and therefore falls outside the scope of this License. - -However, linking a "work that uses the Library" with the Library creates an executable -that is a derivative of the Library (because it contains portions of the Library), -rather than a "work that uses the library". The executable is therefore covered by -this License. Section 6 states terms for distribution of such executables. - -When a "work that uses the Library" uses material from a header file that is part of -the Library, the object code for the work may be a derivative work of the Library even -though the source code is not. Whether this is true is especially significant if the -work can be linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - -If such an object file uses only numerical parameters, data structure layouts and -accessors, and small macros and small inline functions (ten lines or less in length), -then the use of the object file is unrestricted, regardless of whether it is legally a -derivative work. (Executables containing this object code plus portions of the Library -will still fall under Section 6.) - -Otherwise, if the work is a derivative of the Library, you may distribute the object -code for the work under the terms of Section 6. Any executables containing that work -also fall under Section 6, whether or not they are linked directly with the Library -itself. - -6. As an exception to the Sections above, you may also combine or link a "work that -uses the Library" with the Library to produce a work containing portions of the -Library, and distribute that work under terms of your choice, provided that the terms -permit modification of the work for the customer`s own use and reverse engineering for -debugging such modifications. - -You must give prominent notice with each copy of the work that the Library is used in -it and that the Library and its use are covered by this License. You must supply a -copy of this License. If the work during execution displays copyright notices, you -must include the copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one of these things: - -a) Accompany the work with the complete corresponding machine-readable source code for -the Library including whatever changes were used in the work (which must be -distributed under Sections 1 and 2 above); and, if the work is an executable linked -with the Library, with the complete machine-readable "work that uses the Library", as -object code and/or source code, so that the user can modify the Library and then -relink to produce a modified executable containing the modified Library. (It is -understood that the user who changes the contents of definitions files in the Library -will not necessarily be able to recompile the application to use the modified -definitions.) -b) Use a suitable shared library mechanism for linking with the Library. A suitable -mechanism is one that (1) uses at run time a copy of the library already present on -the user`s computer system, rather than copying library functions into the executable, -and (2) will operate properly with a modified version of the library, if the user -installs one, as long as the modified version is interface-compatible with the version -that the work was made with. -c) Accompany the work with a written offer, valid for at least three years, to give -the same user the materials specified in Subsection 6a, above, for a charge no more -than the cost of performing this distribution. -d) If distribution of the work is made by offering access to copy from a designated -place, offer equivalent access to copy the above specified materials from the same -place. -e) Verify that the user has already received a copy of these materials or that you -have already sent this user a copy. -For an executable, the required form of the "work that uses the Library" must include -any data and utility programs needed for reproducing the executable from it. However, -as a special exception, the materials to be distributed need not include anything that -is normally distributed (in either source or binary form) with the major components -(compiler, kernel, and so on) of the operating system on which the executable runs, -unless that component itself accompanies the executable. - -It may happen that this requirement contradicts the license restrictions of other -proprietary libraries that do not normally accompany the operating system. Such a -contradiction means you cannot use both them and the Library together in an executable -that you distribute. - -7. You may place library facilities that are a work based on the Library side-by-side -in a single library together with other library facilities not covered by this -License, and distribute such a combined library, provided that the separate -distribution of the work based on the Library and of the other library facilities is -otherwise permitted, and provided that you do these two things: - -a) Accompany the combined library with a copy of the same work based on the Library, -uncombined with any other library facilities. This must be distributed under the terms -of the Sections above. -b) Give prominent notice with the combined library of the fact that part of it is a -work based on the Library, and explaining where to find the accompanying uncombined -form of the same work. -8. You may not copy, modify, sublicense, link with, or distribute the Library except -as expressly provided under this License. Any attempt otherwise to copy, modify, -sublicense, link with, or distribute the Library is void, and will automatically -terminate your rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses terminated so long -as such parties remain in full compliance. - -9. You are not required to accept this License, since you have not signed it. However, -nothing else grants you permission to modify or distribute the Library or its -derivative works. These actions are prohibited by law if you do not accept this -License. Therefore, by modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and all its terms and -conditions for copying, distributing or modifying the Library or works based on it. - -10. Each time you redistribute the Library (or any work based on the Library), the -recipient automatically receives a license from the original licensor to copy, -distribute, link with or modify the Library subject to these terms and conditions. You -may not impose any further restrictions on the recipients` exercise of the rights -granted herein. You are not responsible for enforcing compliance by third parties with -this License. - -11. If, as a consequence of a court judgment or allegation of patent infringement or -for any other reason (not limited to patent issues), conditions are imposed on you -(whether by court order, agreement or otherwise) that contradict the conditions of -this License, they do not excuse you from the conditions of this License. If you -cannot distribute so as to satisfy simultaneously your obligations under this License -and any other pertinent obligations, then as a consequence you may not distribute the -Library at all. For example, if a patent license would not permit royalty-free -redistribution of the Library by all those who receive copies directly or indirectly -through you, then the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any particular -circumstance, the balance of the section is intended to apply, and the section as a -whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any patents or other -property right claims or to contest validity of any such claims; this section has the -sole purpose of protecting the integrity of the free software distribution system -which is implemented by public license practices. Many people have made generous -contributions to the wide range of software distributed through that system in -reliance on consistent application of that system; it is up to the author/donor to -decide if he or she is willing to distribute software through any other system and a -licensee cannot impose that choice. - -This section is intended to make thoroughly clear what is believed to be a consequence -of the rest of this License. - -12. If the distribution and/or use of the Library is restricted in certain countries -either by patents or by copyrighted interfaces, the original copyright holder who -places the Library under this License may add an explicit geographical distribution -limitation excluding those countries, so that distribution is permitted only in or -among countries not thus excluded. In such case, this License incorporates the -limitation as if written in the body of this License. - -13. The Free Software Foundation may publish revised and/or new versions of the Lesser -General Public License from time to time. Such new versions will be similar in spirit -to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library specifies a -version number of this License which applies to it and "any later version", you have -the option of following the terms and conditions either of that version or of any -later version published by the Free Software Foundation. If the Library does not -specify a license version number, you may choose any version ever published by the -Free Software Foundation. - -14. If you wish to incorporate parts of the Library into other free programs whose -distribution conditions are incompatible with these, write to the author to ask for -permission. For software which is copyrighted by the Free Software Foundation, write -to the Free Software Foundation; we sometimes make exceptions for this. Our decision -will be guided by the two goals of preserving the free status of all derivatives of -our free software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE -LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN -WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT -WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE -RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY -PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY -COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS -PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, -INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE -OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE -WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Libraries - -If you develop a new library, and you want it to be of the greatest possible use to -the public, we recommend making it free software that everyone can redistribute and -change. You can do so by permitting redistribution under these terms (or, -alternatively, under the terms of the ordinary General Public License). - -To apply these terms, attach the following notices to the library. It is safest to -attach them to the start of each source file to most effectively convey the exclusion -of warranty; and each file should have at least the "copyright" line and a pointer to -where the full notice is found. - -one line to give the library`s name and an idea of what it does. -Copyright (C) year name of author - -This library 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; either -version 2.1 of the License, or (at your option) any later version. - -This library 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. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your school, if -any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; -alter the names: - -Yoyodyne, Inc., hereby disclaims all copyright interest in -the library `Frob` (a library for tweaking knobs) written -by James Random Hacker. - -signature of Ty Coon, 1 April 1990 -Ty Coon, President of Vice -That`s all there is to it! - -
- -
-LGPL-3.0 - -GNU LESSER GENERAL PUBLIC LICENSE - -Version 3, 29 June 2007 - -Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/> - -Everyone is permitted to copy and distribute verbatim copies of this license document, -but changing it is not allowed. - -This version of the GNU Lesser General Public License incorporates the terms and -conditions of version 3 of the GNU General Public License, supplemented by the -additional permissions listed below. -0. Additional Definitions. - -As used herein, ”this License” refers to version 3 of the GNU Lesser -General Public License, and the ”GNU GPL” refers to version 3 of the GNU -General Public License. - -”The Library” refers to a covered work governed by this License, other -than an Application or a Combined Work as defined below. - -An ”Application” is any work that makes use of an interface provided by -the Library, but which is not otherwise based on the Library. Defining a subclass of a -class defined by the Library is deemed a mode of using an interface provided by the -Library. - -A ”Combined Work” is a work produced by combining or linking an -Application with the Library. The particular version of the Library with which the -Combined Work was made is also called the ”Linked Version”. - -The ”Minimal Corresponding Source” for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code for portions of -the Combined Work that, considered in isolation, are based on the Application, and not -on the Linked Version. - -The ”Corresponding Application Code” for a Combined Work means the object -code and/or source code for the Application, including any data and utility programs -needed for reproducing the Combined Work from the Application, but excluding the -System Libraries of the Combined Work. -1. Exception to Section 3 of the GNU GPL. - -You may convey a covered work under sections 3 and 4 of this License without being -bound by section 3 of the GNU GPL. -2. Conveying Modified Versions. - -If you modify a copy of the Library, and, in your modifications, a facility refers to -a function or data to be supplied by an Application that uses the facility (other than -as an argument passed when the facility is invoked), then you may convey a copy of the -modified version: - - * a) under this License, provided that you make a good faith effort to ensure -that, in the event an Application does not supply the function or data, the facility -still operates, and performs whatever part of its purpose remains meaningful, or - * b) under the GNU GPL, with none of the additional permissions of this License -applicable to that copy. - -3. Object Code Incorporating Material from Library Header Files. - -The object code form of an Application may incorporate material from a header file -that is part of the Library. You may convey such object code under terms of your -choice, provided that, if the incorporated material is not limited to numerical -parameters, data structure layouts and accessors, or small macros, inline functions -and templates (ten or fewer lines in length), you do both of the following: - - * a) Give prominent notice with each copy of the object code that the Library is -used in it and that the Library and its use are covered by this License. - * b) Accompany the object code with a copy of the GNU GPL and this license -document. - -4. Combined Works. - -You may convey a Combined Work under terms of your choice that, taken together, -effectively do not restrict modification of the portions of the Library contained in -the Combined Work and reverse engineering for debugging such modifications, if you -also do each of the following: - - * a) Give prominent notice with each copy of the Combined Work that the Library is -used in it and that the Library and its use are covered by this License. - * b) Accompany the Combined Work with a copy of the GNU GPL and this license -document. - * c) For a Combined Work that displays copyright notices during execution, include -the copyright notice for the Library among these notices, as well as a reference -directing the user to the copies of the GNU GPL and this license document. - * d) Do one of the following: - o 0) Convey the Minimal Corresponding Source under the terms of this -License, and the Corresponding Application Code in a form suitable for, and under -terms that permit, the user to recombine or relink the Application with a modified -version of the Linked Version to produce a modified Combined Work, in the manner -specified by section 6 of the GNU GPL for conveying Corresponding Source. - o 1) Use a suitable shared library mechanism for linking with the Library. A -suitable mechanism is one that (a) uses at run time a copy of the Library already -present on the user's computer system, and (b) will operate properly with a modified -version of the Library that is interface-compatible with the Linked Version. - * e) Provide Installation Information, but only if you would otherwise be required -to provide such information under section 6 of the GNU GPL, and only to the extent -that such information is necessary to install and execute a modified version of the -Combined Work produced by recombining or relinking the Application with a modified -version of the Linked Version. (If you use option 4d0, the Installation Information -must accompany the Minimal Corresponding Source and Corresponding Application Code. If -you use option 4d1, you must provide the Installation Information in the manner -specified by section 6 of the GNU GPL for conveying Corresponding Source.) - -5. Combined Libraries. - -You may place library facilities that are a work based on the Library side by side in -a single library together with other library facilities that are not Applications and -are not covered by this License, and convey such a combined library under terms of -your choice, if you do both of the following: - - * a) Accompany the combined library with a copy of the same work based on the -Library, uncombined with any other library facilities, conveyed under the terms of -this License. - * b) Give prominent notice with the combined library that part of it is a work -based on the Library, and explaining where to find the accompanying uncombined form of -the same work. - -6. Revised Versions of the GNU Lesser General Public License. - -The Free Software Foundation may publish revised and/or new versions of the GNU Lesser -General Public License from time to time. Such new versions will be similar in spirit -to the present version, but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library as you received -it specifies that a certain numbered version of the GNU Lesser General Public License -”or any later version” applies to it, you have the option of following -the terms and conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you received it does not -specify a version number of the GNU Lesser General Public License, you may choose any -version of the GNU Lesser General Public License ever published by the Free Software -Foundation. - -If the Library as you received it specifies that a proxy can decide whether future -versions of the GNU Lesser General Public License shall apply, that proxy's public -statement of acceptance of any version is permanent authorization for you to choose -that version for the Library. -
- -
-Libpng - - -This copy of the libpng notices is provided for your convenience. In case of -any discrepancy between this copy and the notices in the file png.h that is -included in the libpng distribution, the latter shall prevail. - -COPYRIGHT NOTICE, DISCLAIMER, and LICENSE: - -If you modify libpng you may insert additional notices immediately following -this sentence. - -This code is released under the libpng license. - -libpng versions 1.2.6, August 15, 2004, through 1.4.5, December 9, 2010, are -Copyright (c) 2004, 2006-2010 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.2.5 -with the following individual added to the list of Contributing Authors - - Cosmin Truta - -libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are -Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-1.0.6 -with the following individuals added to the list of Contributing Authors - - Simon-Pierre Cadieux - Eric S. Raymond - Gilles Vollant - -and with the following additions to the disclaimer: - - There is no warranty against interference with your enjoyment of the - library or against infringement. There is no warranty that our - efforts or the library will fulfill any of your particular purposes - or needs. This library is provided with all faults, and the entire - risk of satisfactory quality, performance, accuracy, and effort is with - the user. - -libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are -Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are -distributed according to the same disclaimer and license as libpng-0.96, -with the following individuals added to the list of Contributing Authors: - - Tom Lane - Glenn Randers-Pehrson - Willem van Schaik - -libpng versions 0.89, June 1996, through 0.96, May 1997, are -Copyright (c) 1996, 1997 Andreas Dilger -Distributed according to the same disclaimer and license as libpng-0.88, -with the following individuals added to the list of Contributing Authors: - - John Bowler - Kevin Bracey - Sam Bushell - Magnus Holmgren - Greg Roelofs - Tom Tanner - -libpng versions 0.5, May 1995, through 0.88, January 1996, are -Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc. - -For the purposes of this copyright and license, "Contributing Authors" -is defined as the following set of individuals: - - Andreas Dilger - Dave Martindale - Guy Eric Schalnat - Paul Schmidt - Tim Wegner - -The PNG Reference Library is supplied "AS IS". The Contributing Authors -and Group 42, Inc. disclaim all warranties, expressed or implied, -including, without limitation, the warranties of merchantability and of -fitness for any purpose. The Contributing Authors and Group 42, Inc. -assume no liability for direct, indirect, incidental, special, exemplary, -or consequential damages, which may result from the use of the PNG -Reference Library, even if advised of the possibility of such damage. - -Permission is hereby granted to use, copy, modify, and distribute this -source code, or portions hereof, for any purpose, without fee, subject -to the following restrictions: - -1. The origin of this source code must not be misrepresented. - -2. Altered versions must be plainly marked as such and must not - be misrepresented as being the original source. - -3. This Copyright notice may not be removed or altered from any - source or altered source distribution. - -The Contributing Authors and Group 42, Inc. specifically permit, without -fee, and encourage the use of this source code as a component to -supporting the PNG file format in commercial products. If you use this -source code in a product, acknowledgment is not required but would be -appreciated. - - -A "png_get_copyright" function is available, for convenient use in "about" -boxes and the like: - - printf("%s",png_get_copyright(NULL)); - -Also, the PNG logo (in PNG format, of course) is supplied in the -files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31). - -Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a -certification mark of the Open Source Initiative. - -Glenn Randers-Pehrson -glennrp at users.sourceforge.net -December 9, 2010 - -
- -
-MIT - - -MIT License - -Copyright (c) <year> <copyright holders> - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - -
- -
-MPL-1.0 - - -MOZILLA PUBLIC LICENSE -Version 1.0 - -1. Definitions. - -1.1. ``Contributor`` means each entity that creates or contributes to the creation of -Modifications. -1.2. ``Contributor Version`` means the combination of the Original Code, prior -Modifications used by a Contributor, and the Modifications made by that particular -Contributor. - -1.3. ``Covered Code`` means the Original Code or Modifications or the combination of -the Original Code and Modifications, in each case including portions thereof. - -1.4. ``Electronic Distribution Mechanism`` means a mechanism generally accepted in the -software development community for the electronic transfer of data. - -1.5. ``Executable`` means Covered Code in any form other than Source Code. - -1.6. ``Initial Developer`` means the individual or entity identified as the Initial -Developer in the Source Code notice required by Exhibit A. - -1.7. ``Larger Work`` means a work which combines Covered Code or portions thereof with -code not governed by the terms of this License. - -1.8. ``License`` means this document. - -1.9. ``Modifications`` means any addition to or deletion from the substance or -structure of either the Original Code or any previous Modifications. When Covered Code -is released as a series of files, a Modification is: - -A. Any addition to or deletion from the contents of a file containing Original Code or -previous Modifications. - -B. Any new file that contains any part of the Original Code or previous Modifications. - -1.10. ``Original Code`` means Source Code of computer software code which is described -in the Source Code notice required by Exhibit A as Original Code, and which, at the -time of its release under this License is not already Covered Code governed by this -License. - -1.11. ``Source Code`` means the preferred form of the Covered Code for making -modifications to it, including all modules it contains, plus any associated interface -definition files, scripts used to control compilation and installation of an -Executable, or a list of source code differential comparisons against either the -Original Code or another well known, available Covered Code of the Contributor`s -choice. The Source Code can be in a compressed or archival form, provided the -appropriate decompression or de-archiving software is widely available for no charge. - -1.12. ``You`` means an individual or a legal entity exercising rights under, and -complying with all of the terms of, this License or a future version of this License -issued under Section 6.1. For legal entities, ``You`` includes any entity which -controls, is controlled by, or is under common control with You. For purposes of this -definition, ``control`` means (a) the power, direct or indirect, to cause the -direction or management of such entity, whether by contract or otherwise, or (b) -ownership of fifty percent (50%) or more of the outstanding shares or beneficial -ownership of such entity. - -2. Source Code License. -2.1. The Initial Developer Grant. -The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive -license, subject to third party intellectual property claims: -(a) to use, reproduce, modify, display, perform, sublicense and distribute the -Original Code (or portions thereof) with or without Modifications, or as part of a -Larger Work; and - -(b) under patents now or hereafter owned or controlled by Initial Developer, to make, -have made, use and sell (``Utilize``) the Original Code (or portions thereof), but -solely to the extent that any such patent is reasonably necessary to enable You to -Utilize the Original Code (or portions thereof) and not to any greater extent that may -be necessary to Utilize further Modifications or combinations. - -2.2. Contributor Grant. -Each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license, -subject to third party intellectual property claims: - -(a) to use, reproduce, modify, display, perform, sublicense and distribute the -Modifications created by such Contributor (or portions thereof) either on an -unmodified basis, with other Modifications, as Covered Code or as part of a Larger -Work; and - -(b) under patents now or hereafter owned or controlled by Contributor, to Utilize the -Contributor Version (or portions thereof), but solely to the extent that any such -patent is reasonably necessary to enable You to Utilize the Contributor Version (or -portions thereof), and not to any greater extent that may be necessary to Utilize -further Modifications or combinations. - -3. Distribution Obligations. -3.1. Application of License. -The Modifications which You create or to which You contribute are governed by the -terms of this License, including without limitation Section 2.2. The Source Code -version of Covered Code may be distributed only under the terms of this License or a -future version of this License released under Section 6.1, and You must include a copy -of this License with every copy of the Source Code You distribute. You may not offer -or impose any terms on any Source Code version that alters or restricts the applicable -version of this License or the recipients` rights hereunder. However, You may include -an additional document offering the additional rights described in Section 3.5. -3.2. Availability of Source Code. -Any Modification which You create or to which You contribute must be made available in -Source Code form under the terms of this License either on the same media as an -Executable version or via an accepted Electronic Distribution Mechanism to anyone to -whom you made an Executable version available; and if made available via Electronic -Distribution Mechanism, must remain available for at least twelve (12) months after -the date it initially became available, or at least six (6) months after a subsequent -version of that particular Modification has been made available to such recipients. -You are responsible for ensuring that the Source Code version remains available even -if the Electronic Distribution Mechanism is maintained by a third party. - -3.3. Description of Modifications. -You must cause all Covered Code to which you contribute to contain a file documenting -the changes You made to create that Covered Code and the date of any change. You must -include a prominent statement that the Modification is derived, directly or -indirectly, from Original Code provided by the Initial Developer and including the -name of the Initial Developer in (a) the Source Code, and (b) in any notice in an -Executable version or related documentation in which You describe the origin or -ownership of the Covered Code. - -3.4. Intellectual Property Matters - -(a) Third Party Claims. -If You have knowledge that a party claims an intellectual property right in particular -functionality or code (or its utilization under this License), you must include a text -file with the source code distribution titled ``LEGAL`` which describes the claim and -the party making the claim in sufficient detail that a recipient will know whom to -contact. If you obtain such knowledge after You make Your Modification available as -described in Section 3.2, You shall promptly modify the LEGAL file in all copies You -make available thereafter and shall take other steps (such as notifying appropriate -mailing lists or newsgroups) reasonably calculated to inform those who received the -Covered Code that new knowledge has been obtained. - -(b) Contributor APIs. -If Your Modification is an application programming interface and You own or control -patents which are reasonably necessary to implement that API, you must also include -this information in the LEGAL file. - -3.5. Required Notices. -You must duplicate the notice in Exhibit A in each file of the Source Code, and this -License in any documentation for the Source Code, where You describe recipients` -rights relating to Covered Code. If You created one or more Modification(s), You may -add your name as a Contributor to the notice described in Exhibit A. If it is not -possible to put such notice in a particular Source Code file due to its structure, -then you must include such notice in a location (such as a relevant directory file) -where a user would be likely to look for such a notice. You may choose to offer, and -to charge a fee for, warranty, support, indemnity or liability obligations to one or -more recipients of Covered Code. However, You may do so only on Your own behalf, and -not on behalf of the Initial Developer or any Contributor. You must make it absolutely -clear than any such warranty, support, indemnity or liability obligation is offered by -You alone, and You hereby agree to indemnify the Initial Developer and every -Contributor for any liability incurred by the Initial Developer or such Contributor as -a result of warranty, support, indemnity or liability terms You offer. - -3.6. Distribution of Executable Versions. -You may distribute Covered Code in Executable form only if the requirements of Section -3.1-3.5 have been met for that Covered Code, and if You include a notice stating that -the Source Code version of the Covered Code is available under the terms of this -License, including a description of how and where You have fulfilled the obligations -of Section 3.2. The notice must be conspicuously included in any notice in an -Executable version, related documentation or collateral in which You describe -recipients` rights relating to the Covered Code. You may distribute the Executable -version of Covered Code under a license of Your choice, which may contain terms -different from this License, provided that You are in compliance with the terms of -this License and that the license for the Executable version does not attempt to limit -or alter the recipient`s rights in the Source Code version from the rights set forth -in this License. If You distribute the Executable version under a different license -You must make it absolutely clear that any terms which differ from this License are -offered by You alone, not by the Initial Developer or any Contributor. You hereby -agree to indemnify the Initial Developer and every Contributor for any liability -incurred by the Initial Developer or such Contributor as a result of any such terms -You offer. - -3.7. Larger Works. -You may create a Larger Work by combining Covered Code with other code not governed by -the terms of this License and distribute the Larger Work as a single product. In such -a case, You must make sure the requirements of this License are fulfilled for the -Covered Code. - -4. Inability to Comply Due to Statute or Regulation. -If it is impossible for You to comply with any of the terms of this License with -respect to some or all of the Covered Code due to statute or regulation then You must: -(a) comply with the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must be included -in the LEGAL file described in Section 3.4 and must be included with all distributions -of the Source Code. Except to the extent prohibited by statute or regulation, such -description must be sufficiently detailed for a recipient of ordinary skill to be able -to understand it. - -5. Application of this License. -This License applies to code to which the Initial Developer has attached the notice in -Exhibit A, and to related Covered Code. -6. Versions of the License. -6.1. New Versions. -Netscape Communications Corporation (``Netscape``) may publish revised and/or new -versions of the License from time to time. Each version will be given a distinguishing -version number. -6.2. Effect of New Versions. -Once Covered Code has been published under a particular version of the License, You -may always continue to use it under the terms of that version. You may also choose to -use such Covered Code under the terms of any subsequent version of the License -published by Netscape. No one other than Netscape has the right to modify the terms -applicable to Covered Code created under this License. - -6.3. Derivative Works. -If you create or use a modified version of this License (which you may only do in -order to apply it to code which is not already Covered Code governed by this License), -you must (a) rename Your license so that the phrases ``Mozilla``, ``MOZILLAPL``, -``MOZPL``, ``Netscape``, ``NPL`` or any confusingly similar phrase do not appear -anywhere in your license and (b) otherwise make it clear that your version of the -license contains terms which differ from the Mozilla Public License and Netscape -Public License. (Filling in the name of the Initial Developer, Original Code or -Contributor in the notice described in Exhibit A shall not of themselves be deemed to -be modifications of this License.) - -7. DISCLAIMER OF WARRANTY. -COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS`` BASIS, WITHOUT WARRANTY OF -ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT -THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR -NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE -IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE -INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY -SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL -PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER -THIS DISCLAIMER. -8. TERMINATION. -This License and the rights granted hereunder will terminate automatically if You fail -to comply with terms herein and fail to cure such breach within 30 days of becoming -aware of the breach. All sublicenses to the Covered Code which are properly granted -shall survive any termination of this License. Provisions which, by their nature, must -remain in effect beyond the termination of this License shall survive. -9. LIMITATION OF LIABILITY. -UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), -CONTRACT, OR OTHERWISE, SHALL THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY -DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU -OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF -ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK -STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR -LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH -DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR -PERSONAL INJURY RESULTING FROM SUCH PARTY`S NEGLIGENCE TO THE EXTENT APPLICABLE LAW -PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION -OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT EXCLUSION AND LIMITATION MAY NOT APPLY -TO YOU. -10. U.S. GOVERNMENT END USERS. -The Covered Code is a ``commercial item,`` as that term is defined in 48 C.F.R. 2.101 -(Oct. 1995), consisting of ``commercial computer software`` and ``commercial computer -software documentation,`` as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). -Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June -1995), all U.S. Government End Users acquire Covered Code with only those rights set -forth herein. -11. MISCELLANEOUS. -This License represents the complete agreement concerning subject matter hereof. If -any provision of this License is held to be unenforceable, such provision shall be -reformed only to the extent necessary to make it enforceable. This License shall be -governed by California law provisions (except to the extent applicable law, if any, -provides otherwise), excluding its conflict-of-law provisions. With respect to -disputes in which at least one party is a citizen of, or an entity chartered or -registered to do business in, the United States of America: (a) unless otherwise -agreed in writing, all disputes relating to this License (excepting any dispute -relating to intellectual property rights) shall be subject to final and binding -arbitration, with the losing party paying all costs of arbitration; (b) any -arbitration relating to this Agreement shall be held in Santa Clara County, -California, under the auspices of JAMS/EndDispute; and (c) any litigation relating to -this Agreement shall be subject to the jurisdiction of the Federal Courts of the -Northern District of California, with venue lying in Santa Clara County, California, -with the losing party responsible for costs, including without limitation, court costs -and reasonable attorneys fees and expenses. The application of the United Nations -Convention on Contracts for the International Sale of Goods is expressly excluded. Any -law or regulation which provides that the language of a contract shall be construed -against the drafter shall not apply to this License. -12. RESPONSIBILITY FOR CLAIMS. -Except in cases where another Contributor has failed to comply with Section 3.4, You -are responsible for damages arising, directly or indirectly, out of Your utilization -of rights under this License, based on the number of copies of Covered Code you made -available, the revenues you received from utilizing such rights, and other relevant -factors. You agree to work with affected parties to distribute responsibility on an -equitable basis. -EXHIBIT A. -``The contents of this file are subject to the Mozilla Public License Version 1.0 (the -"License"); you may not use this file except in compliance with the License. You may -obtain a copy of the License at http://www.mozilla.org/MPL/ -Software distributed under the License is distributed on an "AS IS" basis, WITHOUT -WARRANTY OF ANY KIND, either express or implied. See the License for the specific -language governing rights and limitations under the License. - -The Original Code is ______________________________________. - -The Initial Developer of the Original Code is ________________________. Portions -created by ______________________ are Copyright (C) ______ _______________________. -All Rights Reserved. - -Contributor(s): ______________________________________.`` - -
- -
-MPL-2.0 - -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. -
- -
-OASIS - - Permission to use, copy, modify and distribute the DocBook DTD and - its accompanying documentation for any purpose and without fee is - hereby granted in perpetuity, provided that the above copyright - notice and this paragraph appear in all copies. The copyright - holders make no representation about the suitability of the DTD for - any purpose. It is provided "as is" without expressed or implied - warranty. - - If you modify the DocBook DTD in any way, except for declaring and - referencing additional sets of general entities and declaring - additional notations, label your DTD as a variant of DocBook. See - the maintenance documentation for more information. - -
- -
-OpenSSL - - -OpenSSL License - - ==================================================================== - Copyright (c) 1998-2008 The OpenSSL Project. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - 3. All advertising materials mentioning features or use of this - software must display the following acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - - 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - endorse or promote products derived from this software without - prior written permission. For written permission, please contact - openssl-core@openssl.org. - - 5. Products derived from this software may not be called "OpenSSL" - nor may "OpenSSL" appear in their names without prior written - permission of the OpenSSL Project. - - 6. Redistributions of any form whatsoever must retain the following - acknowledgment: - "This product includes software developed by the OpenSSL Project - for use in the OpenSSL Toolkit (http://www.openssl.org/)" - - THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS`` AND ANY - EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - OF THE POSSIBILITY OF SUCH DAMAGE. - ==================================================================== - - This product includes cryptographic software written by Eric Young - (eay@cryptsoft.com). This product includes software written by Tim - Hudson (tjh@cryptsoft.com). - - - Original SSLeay License - ----------------------- - -Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) -All rights reserved. - - This package is an SSL implementation written - by Eric Young (eay@cryptsoft.com). - The implementation was written so as to conform with Netscapes SSL. - - This library is free for commercial and non-commercial use as long as - the following conditions are aheared to. The following conditions - apply to all code found in this distribution, be it the RC4, RSA, - lhash, DES, etc., code; not just the SSL code. The SSL documentation - included with this distribution is covered by the same copyright terms - except that the holder is Tim Hudson (tjh@cryptsoft.com). - - Copyright remains Eric Young`s, and as such any Copyright notices in - the code are not to be removed. - If this package is used in a product, Eric Young should be given attribution - as the author of the parts of the library used. - This can be in the form of a textual message at program startup or - in documentation (online or textual) provided with the package. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - "This product includes cryptographic software written by - Eric Young (eay@cryptsoft.com)" - The word `cryptographic` can be left out if the rouines from the library - being used are not cryptographic related :-). - 4. If you include any Windows specific code (or a derivative thereof) from - the apps directory (application code) you must include an acknowledgement: - "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - - THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS`` AND ANY EXPRESS OR IMPLIED -WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - The licence and distribution terms for any publically available version or -derivative of this code cannot be changed. i.e. this code cannot simply be copied and -put under another distribution licence - [including the GNU Public Licence.] - - - - -
- -
-PD - -This is a placeholder for the Public Domain License -
- -
-Python-2.0 - - -PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 --------------------------------------------- - -1. This LICENSE AGREEMENT is between the Python Software Foundation -("PSF"), and the Individual or Organization ("Licensee") accessing and -otherwise using this software ("Python") in source or binary form and -its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, PSF -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python -alone or in any derivative version, provided, however, that PSF`s -License Agreement and PSF`s notice of copyright, i.e., "Copyright (c) -2001, 2002, 2003, 2004, 2005, 2006 Python Software Foundation; All Rights -Reserved" are retained in Python alone or in any derivative version -prepared by Licensee. - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python. - -4. PSF is making Python available to Licensee on an "AS IS" -basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. Nothing in this License Agreement shall be deemed to create any -relationship of agency, partnership, or joint venture between PSF and -Licensee. This License Agreement does not grant permission to use PSF -trademarks or trade name in a trademark sense to endorse or promote -products or services of Licensee, or any third party. - -8. By copying, installing or otherwise using Python, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - -BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 -------------------------------------------- - -BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 - -1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an -office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the -Individual or Organization ("Licensee") accessing and otherwise using -this software in source or binary form and its associated -documentation ("the Software"). - -2. Subject to the terms and conditions of this BeOpen Python License -Agreement, BeOpen hereby grants Licensee a non-exclusive, -royalty-free, world-wide license to reproduce, analyze, test, perform -and/or display publicly, prepare derivative works, distribute, and -otherwise use the Software alone or in any derivative version, -provided, however, that the BeOpen Python License is retained in the -Software, alone or in any derivative version prepared by Licensee. - -3. BeOpen is making the Software available to Licensee on an "AS IS" -basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE -SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS -AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY -DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -5. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -6. This License Agreement shall be governed by and interpreted in all -respects by the law of the State of California, excluding conflict of -law provisions. Nothing in this License Agreement shall be deemed to -create any relationship of agency, partnership, or joint venture -between BeOpen and Licensee. This License Agreement does not grant -permission to use BeOpen trademarks or trade names in a trademark -sense to endorse or promote products or services of Licensee, or any -third party. As an exception, the "BeOpen Python" logos available at -http://www.pythonlabs.com/logos.html may be used according to the -permissions granted on that web page. - -7. By copying, installing or otherwise using the software, Licensee -agrees to be bound by the terms and conditions of this License -Agreement. - -CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 ---------------------------------------- - -1. This LICENSE AGREEMENT is between the Corporation for National -Research Initiatives, having an office at 1895 Preston White Drive, -Reston, VA 20191 ("CNRI"), and the Individual or Organization -("Licensee") accessing and otherwise using Python 1.6.1 software in -source or binary form and its associated documentation. - -2. Subject to the terms and conditions of this License Agreement, CNRI -hereby grants Licensee a nonexclusive, royalty-free, world-wide -license to reproduce, analyze, test, perform and/or display publicly, -prepare derivative works, distribute, and otherwise use Python 1.6.1 -alone or in any derivative version, provided, however, that CNRI`s -License Agreement and CNRI`s notice of copyright, i.e., "Copyright (c) -1995-2001 Corporation for National Research Initiatives; All Rights -Reserved" are retained in Python 1.6.1 alone or in any derivative -version prepared by Licensee. Alternately, in lieu of CNRI`s License -Agreement, Licensee may substitute the following text (omitting the -quotes): "Python 1.6.1 is made available subject to the terms and -conditions in CNRI`s License Agreement. This Agreement together with -Python 1.6.1 may be located on the Internet using the following -unique, persistent identifier (known as a handle): 1895.22/1013. This -Agreement may also be obtained from a proxy server on the Internet -using the following URL: http://hdl.handle.net/1895.22/1013". - -3. In the event Licensee prepares a derivative work that is based on -or incorporates Python 1.6.1 or any part thereof, and wants to make -the derivative work available to others as provided herein, then -Licensee hereby agrees to include in any such work a brief summary of -the changes made to Python 1.6.1. - -4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" -basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR -IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND -DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS -FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT -INFRINGE ANY THIRD PARTY RIGHTS. - -5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON -1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS -A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, -OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. - -6. This License Agreement will automatically terminate upon a material -breach of its terms and conditions. - -7. This License Agreement shall be governed by the federal -intellectual property law of the United States, including without -limitation the federal copyright law, and, to the extent such -U.S. federal law does not apply, by the law of the Commonwealth of -Virginia, excluding Virginia`s conflict of law provisions. -Notwithstanding the foregoing, with regard to derivative works based -on Python 1.6.1 that incorporate non-separable material that was -previously distributed under the GNU General Public License (GPL), the -law of the Commonwealth of Virginia shall govern this License -Agreement only as to issues arising under or with respect to -Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this -License Agreement shall be deemed to create any relationship of -agency, partnership, or joint venture between CNRI and Licensee. This -License Agreement does not grant permission to use CNRI trademarks or -trade name in a trademark sense to endorse or promote products or -services of Licensee, or any third party. - -8. By clicking on the "ACCEPT" button where indicated, or by copying, -installing or otherwise using Python 1.6.1, Licensee agrees to be -bound by the terms and conditions of this License Agreement. - -ACCEPT - -CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 --------------------------------------------------- - -Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, -The Netherlands. All rights reserved. - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Stichting Mathematisch -Centrum or CWI not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. - -STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO -THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE -FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT -OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -
- -
-Sleepycat - - -The Sleepycat License -Copyright (c) 1990-1999 -Sleepycat Software. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -Redistributions in any form must be accompanied by information on -how to obtain complete source code for the DB software and any -accompanying software that uses the DB software. The source code -must either be included in the distribution or be available for no -more than the cost of distribution plus a nominal fee, and must be -freely redistributable under reasonable conditions. For an -executable file, complete source code means the source code for all -modules it contains. It does not include source code for modules or -files that typically accompany the major components of the operating -system on which the executable file runs. -THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS`` AND ANY EXPRESS -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR -NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL SLEEPYCAT SOFTWARE -BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - -Copyright (c) 1990, 1993, 1994, 1995 -The Regents of the University of California. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -Neither the name of the University nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS`` AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -Copyright (c) 1995, 1996 -The President and Fellows of Harvard University. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the -documentation and/or other materials provided with the distribution. -Neither the name of the University nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS IS`` AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR ITS CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - -
- -
-Zlib - - -zlib License - - - This software is provided `as-is`, without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - -
- -
-OFL-1.1 - - -SIL OPEN FONT LICENSE - -Version 1.1 - 26 February 2007 -PREAMBLE - -The goals of the Open Font License (OFL) are to stimulate worldwide - development of collaborative font projects, to support the font creation - efforts of academic and linguistic communities, and to provide a free and - open framework in which fonts may be shared and improved in partnership - with others. - -The OFL allows the licensed fonts to be used, studied, modified and - redistributed freely as long as they are not sold by themselves. The - fonts, including any derivative works, can be bundled, embedded, - redistributed and/or sold with any software provided that any reserved - names are not used by derivative works. The fonts and derivatives, - however, cannot be released under any other type of license. The - requirement for fonts to remain under this license does not apply - to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright - Holder(s) under this license and clearly marked as such. This may - include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the - copyright statement(s). - -"Original Version" refers to the collection of Font Software components as - distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, - or substituting - in part or in whole - any of the components of the - Original Version, by changing formats or by porting the Font Software to a - new environment. - -"Author" refers to any designer, engineer, programmer, technical - writer or other person who contributed to the Font Software. - -PERMISSION and CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining - a copy of the Font Software, to use, study, copy, merge, embed, modify, - redistribute, and sell modified and unmodified copies of the Font - Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, - in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, - redistributed and/or sold with any software, provided that each copy - contains the above copyright notice and this license. These can be - included either as stand-alone text files, human-readable headers or - in the appropriate machine-readable metadata fields within text or - binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font - Name(s) unless explicit written permission is granted by the corresponding - Copyright Holder. This restriction only applies to the primary font name as - presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font - Software shall not be used to promote, endorse or advertise any - Modified Version, except to acknowledge the contribution(s) of the - Copyright Holder(s) and the Author(s) or with their explicit written - permission. - -5) The Font Software, modified or unmodified, in part or in whole, - must be distributed entirely under this license, and must not be - distributed under any other license. The requirement for fonts to - remain under this license does not apply to any document created - using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are - not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT - OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE - COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL - DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM - OTHER DEALINGS IN THE FONT SOFTWARE. - - -© 2003-2009 SIL International, all rights reserved, unless otherwise noted - elsewhere on this page. - Provided by SIL's Non-Roman Script Initiative. Contact us at nrsi@sil.org. - -
- -
-GPL-3.0-with-autoconf-exception - - -insert GPL v3 text here - -AUTOCONF CONFIGURE SCRIPT EXCEPTION - -Version 3.0, 18 August 2009 -Copyright © 2009 Free Software Foundation, Inc. http://fsf.org/ - -Everyone is permitted to copy and distribute verbatim copies of this license - document, but changing it is not allowed. - -This Exception is an additional permission under section 7 of the GNU General - Public License, version 3 ("GPLv3"). It applies to a given file that bears a - notice placed by the copyright holder of the file stating that the file is - governed by GPLv3 along with this Exception. - -The purpose of this Exception is to allow distribution of Autoconf's typical - output under terms of the recipient's choice (including proprietary). - -0. Definitions. - -"Covered Code" is the source or object code of a version of Autoconf that is - a covered work under this License. - -"Normally Copied Code" for a version of Autoconf means all parts of its - Covered Code which that version can copy from its code (i.e., not from its - input file) into its minimally verbose, non-debugging and non-tracing output. - -"Ineligible Code" is Covered Code that is not Normally Copied Code. - -1. Grant of Additional Permission. - -You have permission to propagate output of Autoconf, even if such propagation - would otherwise violate the terms of GPLv3. However, if by modifying Autoconf - you cause any Ineligible Code of the version you received to become Normally - Copied Code of your modified version, then you void this Exception for the - resulting covered work. If you convey that resulting covered work, you must - remove this Exception in accordance with the second paragraph of Section 7 of - GPLv3. - -2. No Weakening of Autoconf Copyleft. - -The availability of this Exception does not imply any general presumption that - third-party software is unaffected by the copyleft requirements of the license - of Autoconf. - -
- -
-XSL - - -Copyright ---------- -Copyright (C) 1999-2007 Norman Walsh -Copyright (C) 2003 Jiří Kosek -Copyright (C) 2004-2007 Steve Ball -Copyright (C) 2005-2007 The DocBook Project - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the ``Software''), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or -sell copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -Except as contained in this notice, the names of individuals -credited with contribution to this software shall not be used in -advertising or otherwise to promote the sale, use or other -dealings in this Software without prior written authorization -from the individuals in question. - -Any stylesheet derived from this Software that is publically -distributed will be identified with a different name and the -version strings in any derived Software will be changed so that -no possibility of confusion between the derived package and this -Software will exist. - -Warranty --------- -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL NORMAN WALSH OR ANY OTHER -CONTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -Contacting the Author ---------------------- -The reference documentation for the DocBook XSL stylesheets is -maintained by Norman Walsh, ndw@nwalsh.com, and members of the -DocBook Project, docbook-developers@sf.net - - -
- -
-Intel-ACPI - - -ACPI - Software License Agreement - - 
Software License Agreement IMPORTANT - READ BEFORE COPYING, INSTALLING OR - USING. - -Do not use or load this software and any associated materials (collectively, - the "Software") until you have carefully read the following terms and - conditions. By loading or using the Software, you agree to the terms of this - Agreement. If you do not wish to so agree, do not install or use the Software. - -1. COPYRIGHT NOTICE Some or all of this work - Copyright © 1999-2005, Intel Corp. - All rights reserved. - -2. LICENSE - -2.1. This is your license from Intel Corp. under its intellectual property - rights. You may have additional license terms from the party that provided - you this software, covering your right to use that party's intellectual - property rights. - -2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a copy - of the source code appearing in this file ("Covered Code") an irrevocable, - perpetual, worldwide license under Intel's copyrights in the base code - distributed originally by Intel ("Original Intel Code") to copy, make - derivatives, distribute, use and display any portion of the Covered Code in - any form, with the right to sublicense such rights; and - -2.3. Intel grants Licensee a non-exclusive and non-transferable patent license - (with the right to sublicense), under only those claims of Intel patents that - are infringed by the Original Intel Code, to make, use, sell, offer to sell, - and import the Covered Code and derivative works thereof solely to the minimum - extent necessary to exercise the above copyright license, and in no event - shall the patent license extend to any additions to or modifications of the - Original Intel Code. No other license or right is granted directly or by - implication, estoppel or otherwise; The above copyright and patent license is - granted only if the following conditions are met: - -3. CONDITIONS - -3.1. Redistribution of Source with Rights to Further Distribute Source. - Redistribution of source code of any substantial portion of the Covered Code - or modification with rights to further distribute source must include the - above Copyright Notice, the above License, this list of Conditions, and the - following Disclaimer and Export Compliance provision. In addition, Licensee - must cause all Covered Code to which Licensee contributes to contain a file - documenting the changes Licensee made to create that Covered Code and the date - of any change. Licensee must include in that file the documentation of any - changes made by any predecessor Licensee. Licensee must include a prominent - statement that the modification is derived, directly or indirectly, from - Original Intel Code. - -3.2. Redistribution of Source with no Rights to Further Distribute Source. - Redistribution of source code of any substantial portion of the Covered Code - or modification without rights to further distribute source must include the - following Disclaimer and Export Compliance provision in the documentation - and/or other materials provided with distribution. In addition, Licensee may - not authorize further sublicense of source of any portion of the Covered Code, - and must include terms to the effect that the license from Licensee to its - licensee is limited to the intellectual property embodied in the software - Licensee provides to its licensee, and not to intellectual property embodied - in modifications its licensee may make. - -3.3. Redistribution of Executable. Redistribution in executable form of any - substantial portion of the Covered Code or modification must reproduce the - above Copyright Notice, and the following Disclaimer and Export Compliance - provision in the documentation and/or other materials provided with the - distribution. - -3.4. Intel retains all right, title, and interest in and to the Original Intel - Code. - -3.5. Neither the name Intel nor any other trademark owned or controlled by - Intel shall be used in advertising or otherwise to promote the sale, use or - other dealings in products derived from or relating to the Covered Code - without prior written authorization from Intel. - -4. DISCLAIMER AND EXPORT COMPLIANCE - -4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED HERE. - ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE IS PROVIDED - "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, INSTALLATION, - TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY UPDATES, ENHANCEMENTS - OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF - MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A PARTICULAR PURPOSE. - -4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES OR - ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR COSTS - OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, SPECIAL - OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY CAUSE OF - ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL HAS ADVANCE - NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS SHALL APPLY - NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. - -4.3. Licensee shall not export, either directly or indirectly, any of this - software or system incorporating such software without first obtaining any - required license or other approval from the U. S. Department of Commerce or - any other agency or department of the United States Government. In the event - Licensee exports any such software from the United States or re-exports any - such software from a foreign destination, Licensee shall ensure that the - distribution and export/re-export of the software is in compliance with all - laws, regulations, orders, or other restrictions of the U.S. Export - Administration Regulations. Licensee agrees that neither it nor any of its - subsidiaries will export/re-export any technical data, process, software, or - service, directly or indirectly, to any country for which the United States - government or any agency thereof requires an export license, other - governmental approval, or letter of assurance, without first obtaining such - license, approval or letter. - - -
- -
-Intel-Microcode-License - - -Copyright Intel Corporation, 1995, 96, 97, 98, 99, 2000. -These microcode updates are distributed for the sole purpose of installation -in the BIOS or Operating System of computer systems which include an Intel P6 -family microprocessor sold or distributed to or by you. You are authorized to -copy and install this material on such systems. You are not authorized to use -this material for any other purpose. - -
- -
-ZPL-2.1 - - -Zope Public License (ZPL) Version 2.1 - -A copyright notice accompanies this license document that identifies the -copyright holders. - -This license has been certified as open source. It has also been designated as -GPL compatible by the Free Software Foundation (FSF). - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions in source code must retain the accompanying copyright -notice, this list of conditions, and the following disclaimer. - -2. Redistributions in binary form must reproduce the accompanying copyright -notice, this list of conditions, and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Names of the copyright holders must not be used to endorse or promote -products derived from this software without prior written permission from the -copyright holders. - -4. The right to distribute this software or to use it for any purpose does not -give you the right to use Servicemarks (sm) or Trademarks (tm) of the -copyright -holders. Use of them is covered by separate agreement with the copyright -holders. - -5. If any files are modified, you must cause the modified files to carry -prominent notices stating that you changed the files and the date of any -change. - -Disclaimer - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -
- - -
-
- License statements for packages with PD license - -
- encodings, version 1.0.4 -
- LICENSE - - -Dropbear contains a number of components from different sources, hence there -are a few licenses and authors involved. All licenses are fairly -non-restrictive. - - -The majority of code is written by Matt Johnston, under the license below. - -Portions of the client-mode work are (c) 2004 Mihnea Stoenescu, under the -same license: - -Copyright (c) 2002-2015 Matt Johnston -Portions copyright (c) 2004 Mihnea Stoenescu -All rights reserved. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. - -===== - -LibTomCrypt and LibTomMath are written by Tom St Denis, and are Public Domain. - -===== - -sshpty.c is taken from OpenSSH 3.5p1, - Copyright (c) 1995 Tatu Ylonen ylo@cs.hut.fi, Espoo, Finland - All rights reserved - "As far as I am concerned, the code I have written for this software - can be used freely for any purpose. Any derived versions of this - software must be clearly marked as such, and if the derived work is - incompatible with the protocol description in the RFC file, it must be - called by a name other than "ssh" or "Secure Shell". " - -===== - -loginrec.c -loginrec.h -atomicio.h -atomicio.c -and strlcat() (included in util.c) are from OpenSSH 3.6.1p2, and are licensed -under the 2 point BSD license. - -loginrec is written primarily by Andre Lucas, atomicio.c by Theo de Raadt. - -strlcat() is (c) Todd C. Miller - -===== - -Import code in keyimport.c is modified from PuTTY's import.c, licensed as -follows: - -PuTTY is copyright 1997-2003 Simon Tatham. - -Portions copyright Robert de Bath, Joris van Rantwijk, Delian -Delchev, Andreas Schultz, Jeroen Massar, Wez Furlong, Nicolas Barry, -Justin Bradford, and CORE SDI S.A. - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation files -(the "Software"), to deal in the Software without restriction, -including without limitation the rights to use, copy, modify, merge, -publish, distribute, sublicense, and/or sell copies of the Software, -and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE -FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF -CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -===== - -curve25519-donna: - -/* Copyright 2008, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * curve25519-donna: Curve25519 elliptic curve, public key function - * - * http://code.google.com/p/curve25519-donna/ - * - * Adam Langley agl@imperialviolet.org - * - * Derived from public domain C code by Daniel J. Bernstein djb@cr.yp.to - * - * More information about curve25519 can be found here - * http://cr.yp.to/ecdh.html - * - * djb's sample implementation of curve25519 is written in a special assembly - * language called qhasm and uses the floating point registers. - * - * This is, almost, a clean room reimplementation from the curve25519 paper. It - * uses many of the tricks described therein. Only the crecip function is taken - * from the sample implementation. - */ - - -
- -
-
- fontconfig, version 2.12.1 -
- COPYING - - -Copyright © 2000,2001,2002,2003,2004,2006,2007 Keith Packard -Copyright © 2005 Patrick Lam -Copyright © 2009 Roozbeh Pournader -Copyright © 2008,2009 Red Hat, Inc. -Copyright © 2008 Danilo Šegan -Copyright © 2012 Google, Inc. - - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation, and that the name of the author(s) not be used in -advertising or publicity pertaining to distribution of the software without -specific, written prior permission. The authors make no -representations about the suitability of this software for any purpose. It -is provided "as is" without express or implied warranty. - -THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - -
-
- -
- libssd, version 0.8.3 -
- COPYING - - -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ - -Files: - * -Copyright: - Copyright © 2004-2006, 2008-2015 Guillem Jover guillem@hadrons.org -License: BSD-3-clause - -Files: - man/arc4random.3 - man/tree.3 -Copyright: - Copyright 1997 Niels Provos provos@physnet.uni-hamburg.de - All rights reserved. -License: BSD-4-clause-Niels-Provos - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - This product includes software developed by Niels Provos. - 4. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Files: - man/getprogname.3 -Copyright: - Copyright © 2001 Christopher G. Demetriou - All rights reserved. -License: BSD-4-clause-Christopher-G-Demetriou - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. All advertising materials mentioning features or use of this software - must display the following acknowledgement: - This product includes software developed for the - NetBSD Project. See http://www.netbsd.org/ for - information about NetBSD. - 4. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Files: - include/bsd/err.h - include/bsd/stdlib.h - include/bsd/unistd.h - src/bsd_getopt.c - src/err.c - src/fgetln.c - src/progname.c -Copyright: - Copyright © 2005, 2008-2012 Guillem Jover guillem@hadrons.org - Copyright © 2005 Hector Garcia Alvarez - Copyright © 2005 Aurelien Jarno - Copyright © 2006 Robert Millan -License: BSD-3-clause - -Files: - include/bsd/netinet/ip_icmp.h - include/bsd/sys/bitstring.h - include/bsd/sys/queue.h - include/bsd/timeconv.h - include/bsd/vis.h - man/bitstring.3 - man/explicit_bzero.3 - man/fgetln.3 - man/fgetwln.3 - man/funopen.3bsd - man/getbsize.3 - man/heapsort.3 - man/nlist.3 - man/queue.3bsd - man/radixsort.3 - man/reallocarray.3 - man/reallocf.3 - man/setmode.3 - man/strmode.3 - man/strnstr.3 - man/unvis.3 - man/vis.3 - man/wcslcpy.3 - src/getbsize.c - src/heapsort.c - src/merge.c - src/nlist.c - src/radixsort.c - src/setmode.c - src/strmode.c - src/strnstr.c - src/unvis.c - src/vis.c -Copyright: - Copyright © 1980, 1982, 1986, 1989-1994 - The Regents of the University of California. All rights reserved. - Copyright © 2001 Mike Barcroft mike@FreeBSD.org - . - Some code is derived from software contributed to Berkeley by - the American National Standards Committee X3, on Information - Processing Systems. - . - Some code is derived from software contributed to Berkeley by - Peter McIlroy. - . - Some code is derived from software contributed to Berkeley by - Ronnie Kon at Mindcraft Inc., Kevin Lew and Elmer Yglesias. - . - Some code is derived from software contributed to Berkeley by - Dave Borman at Cray Research, Inc. - . - Some code is derived from software contributed to Berkeley by - Paul Vixie. - . - Some code is derived from software contributed to Berkeley by - Chris Torek. - . - Copyright © UNIX System Laboratories, Inc. - All or some portions of this file are derived from material licensed - to the University of California by American Telephone and Telegraph - Co. or Unix System Laboratories, Inc. and are reproduced herein with - the permission of UNIX System Laboratories, Inc. -License: BSD-3-clause-Regents - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - -Files: - include/bsd/libutil.h -Copyright: - Copyright © 1996 Peter Wemm peter@FreeBSD.org. - All rights reserved. - Copyright © 2002 Networks Associates Technology, Inc. - All rights reserved. -License: BSD-3-clause-Peter-Wemm - Redistribution and use in source and binary forms, with or without - modification, is permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. The name of the author may not be used to endorse or promote - products derived from this software without specific prior written - permission. - . - THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - -Files: - man/setproctitle.3 -Copyright: - Copyright © 1995 Peter Wemm peter@FreeBSD.org - All rights reserved. -License: BSD-5-clause-Peter-Wemm - Redistribution and use in source and binary forms, with or without - modification, is permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice immediately at the beginning of the file, without modification, - this list of conditions, and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. This work was done expressly for inclusion into FreeBSD. Other use - is permitted provided this notation is included. - 4. Absolutely no warranty of function or purpose is made by the author - Peter Wemm. - 5. Modifications may be freely made to this file providing the above - conditions are met. - -Files: - include/bsd/stringlist.h - man/fmtcheck.3 - man/humanize_number.3 - man/stringlist.3 - src/fmtcheck.c - src/humanize_number.c - src/stringlist.c -Copyright: - Copyright © 1994, 1997-2000, 2002, 2008 The NetBSD Foundation, Inc. - All rights reserved. - . - Some code was contributed to The NetBSD Foundation by Allen Briggs. - . - Some code was contributed to The NetBSD Foundation by Luke Mewburn. - . - Some code is derived from software contributed to The NetBSD Foundation - by Jason R. Thorpe of the Numerical Aerospace Simulation Facility, - NASA Ames Research Center, by Luke Mewburn and by Tomas Svensson. - . - Some code is derived from software contributed to The NetBSD Foundation - by Julio M. Merino Vidal, developed as part of Google's Summer of Code - 2005 program. - . - Some code is derived from software contributed to The NetBSD Foundation - by Christos Zoulas. -License: BSD-2-clause-NetBSD - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - -Files: - include/bsd/sys/endian.h - man/expand_number.3 - man/closefrom.3 - man/flopen.3 - man/getpeereid.3 - man/pidfile.3 - src/expand_number.c - src/hash/sha512.h - src/hash/sha512c.c - src/pidfile.c - src/reallocf.c - src/timeconv.c -Copyright: - Copyright © 1998, M. Warner Losh imp@freebsd.org - All rights reserved. - . - Copyright © 2001 Dima Dorfman. - All rights reserved. - . - Copyright © 2001 FreeBSD Inc. - All rights reserved. - . - Copyright © 2002 Thomas Moestl tmm@FreeBSD.org - All rights reserved. - . - Copyright © 2005 Pawel Jakub Dawidek pjd@FreeBSD.org - All rights reserved. - . - Copyright © 2005 Colin Percival - All rights reserved. - . - Copyright © 2007 Eric Anderson anderson@FreeBSD.org - Copyright © 2007 Pawel Jakub Dawidek pjd@FreeBSD.org - All rights reserved. - . - Copyright © 2007 Dag-Erling Coïdan Smørgrav - All rights reserved. - . - Copyright © 2009 Advanced Computing Technologies LLC - Written by: John H. Baldwin jhb@FreeBSD.org - All rights reserved. - . - Copyright © 2011 Guillem Jover guillem@hadrons.org -License: BSD-2-clause - -Files: - src/flopen.c -Copyright: - Copyright © 2007 Dag-Erling Coïdan Smørgrav - All rights reserved. -License: BSD-2-clause-verbatim - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer - in this position and unchanged. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - -Files: - include/bsd/sys/tree.h - man/fparseln.3 - src/fparseln.c -Copyright: - Copyright © 1997 Christos Zoulas. - All rights reserved. - . - Copyright © 2002 Niels Provos provos@citi.umich.edu - All rights reserved. -License: BSD-2-clause-author - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Files: - include/bsd/readpassphrase.h - man/readpassphrase.3 - man/strlcpy.3 - man/strtonum.3 - src/arc4random.c - src/arc4random_openbsd.h - src/arc4random_uniform.c - src/arc4random_unix.h - src/closefrom.c - src/getentropy_aix.c - src/getentropy_bsd.c - src/getentropy_hpux.c - src/getentropy_hurd.c - src/getentropy_linux.c - src/getentropy_osx.c - src/getentropy_solaris.c - src/readpassphrase.c - src/reallocarray.c - src/strlcat.c - src/strlcpy.c - src/strtonum.c -Copyright: - Copyright © 2004 Ted Unangst and Todd Miller - All rights reserved. - . - Copyright © 1996 David Mazieres dm@uun.org - Copyright © 1998, 2000-2002, 2004-2005, 2007, 2010, 2012-2014 - Todd C. Miller Todd.Miller@courtesan.com - Copyright © 2004 Ted Unangst - Copyright © 2008 Damien Miller djm@openbsd.org - Copyright © 2008 Otto Moerbeek otto@drijf.net - Copyright © 2013 Markus Friedl markus@openbsd.org - Copyright © 2014 Bob Beck beck@obtuse.com - Copyright © 2014 Brent Cook bcook@openbsd.org - Copyright © 2014 Pawel Jakub Dawidek pjd@FreeBSD.org - Copyright © 2014 Theo de Raadt deraadt@openbsd.org - Copyright © 2015 Michael Felt aixtools@gmail.com - Copyright © 2015 Guillem Jover guillem@hadrons.org -License: ISC - Permission to use, copy, modify, and distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - . - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -Files: - src/inet_net_pton.c -Copyright: - Copyright © 1996 by Internet Software Consortium. -License: ISC-Original - Permission to use, copy, modify, and distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - . - THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - SOFTWARE. - -Files: - src/setproctitle.c -Copyright: - Copyright © 2010 William Ahern - Copyright © 2012 Guillem Jover guillem@hadrons.org -License: Expat - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to permit - persons to whom the Software is furnished to do so, subject to the - following conditions: - . - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - . - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN - NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, - DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - USE OR OTHER DEALINGS IN THE SOFTWARE. - -Files: - include/bsd/md5.h - src/hash/md5.c -Copyright: - None -License: public-domain-Colin-Plumb - This code implements the MD5 message-digest algorithm. - The algorithm is due to Ron Rivest. This code was - written by Colin Plumb in 1993, no copyright is claimed. - This code is in the public domain; do with it what you wish. - -Files: - src/explicit_bzero.c - src/chacha_private.h -Copyright: - None -License: public-domain - Public domain. - -Files: - man/mdX.3bsd - src/hash/md5hl.c - src/hash/helper.c -Copyright: - None -License: Beerware - "THE BEER-WARE LICENSE" (Revision 42): - phk@login.dkuug.dk wrote this file. As long as you retain this notice you - can do whatever you want with this stuff. If we meet some day, and you think - this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - -License: BSD-3-clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - . - THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, - INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL - THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -License: BSD-2-clause - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - . - THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. - - -
-
- -
- pixman, version 0.34.0 -
- COPYING - - -The following is the MIT license, agreed upon by most contributors. -Copyright holders of new code should use this license statement where -possible. They may also add themselves to the list below. - -/* - * Copyright 1987, 1988, 1989, 1998 The Open Group - * Copyright 1987, 1988, 1989 Digital Equipment Corporation - * Copyright 1999, 2004, 2008 Keith Packard - * Copyright 2000 SuSE, Inc. - * Copyright 2000 Keith Packard, member of The XFree86 Project, Inc. - * Copyright 2004, 2005, 2007, 2008, 2009, 2010 Red Hat, Inc. - * Copyright 2004 Nicholas Miell - * Copyright 2005 Lars Knoll and Zack Rusin, Trolltech - * Copyright 2005 Trolltech AS - * Copyright 2007 Luca Barbato - * Copyright 2008 Aaron Plattner, NVIDIA Corporation - * Copyright 2008 Rodrigo Kumpera - * Copyright 2008 André Tupinambá - * Copyright 2008 Mozilla Corporation - * Copyright 2008 Frederic Plourde - * Copyright 2009, Oracle and/or its affiliates. All rights reserved. - * Copyright 2009, 2010 Nokia Corporation - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - - -
-
- install.sh - - -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2013-12-25.23; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - - -
-
- -
- sqlite3, version 3.17.0 -
- sqlite3ext.h - - -/* -** 2006 June 7 -** -** The author disclaims copyright to this source code. In place of -** a legal notice, here is a blessing: -** -** May you do good and not evil. -** May you find forgiveness for yourself and forgive others. -** May you share freely, never taking more than you give. -** -************************************************************************* - -
-
- -
- squashfs-tools, version 4.3 -
- squashfs_fs.h - - -/* - * Squashfs - * - * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 - * Phillip Lougher phillip@lougher.demon.co.uk - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2, - * or (at your option) any later version. - * - * 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * squashfs_fs.h - */ - - -
-
- -
- tzcode, version 2017b -
- LICENSE - - -With a few exceptions, all files in the tz code and data (including -this one) are in the public domain. The exceptions are date.c, -newstrftime.3, and strftime.c, which contain material derived from BSD -and which use the BSD 3-clause license. - - -
-
- -
- tzdata, version 2017b -
- LICENSE - - -With a few exceptions, all files in the tz code and data (including -this one) are in the public domain. The exceptions are date.c, -newstrftime.3, and strftime.c, which contain material derived from BSD -and which use the BSD 3-clause license. - - -
-
- -
- xz, version 5.2.3 -
- COPYING - - -XZ Utils Licensing -================== - - Different licenses apply to different files in this package. Here - is a rough summary of which licenses apply to which parts of this - package (but check the individual files to be sure!): - - - liblzma is in the public domain. - - - xz, xzdec, and lzmadec command line tools are in the public - domain unless GNU getopt_long had to be compiled and linked - in from the lib directory. The getopt_long code is under - GNU LGPLv2.1+. - - - The scripts to grep, diff, and view compressed files have been - adapted from gzip. These scripts and their documentation are - under GNU GPLv2+. - - - All the documentation in the doc directory and most of the - XZ Utils specific documentation files in other directories - are in the public domain. - - - Translated messages are in the public domain. - - - The build system contains public domain files, and files that - are under GNU GPLv2+ or GNU GPLv3+. None of these files end up - in the binaries being built. - - - Test files and test code in the tests directory, and debugging - utilities in the debug directory are in the public domain. - - - The extra directory may contain public domain files, and files - that are under various free software licenses. - - You can do whatever you want with the files that have been put into - the public domain. If you find public domain legally problematic, - take the previous sentence as a license grant. If you still find - the lack of copyright legally problematic, you have too many - lawyers. - - As usual, this software is provided "as is", without any warranty. - - If you copy significant amounts of public domain code from XZ Utils - into your project, acknowledging this somewhere in your software is - polite (especially if it is proprietary, non-free software), but - naturally it is not legally required. Here is an example of a good - notice to put into "about box" or into documentation: - - This software includes code from XZ Utils http://tukaani.org/xz/. - - The following license texts are included in the following files: - - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 - - COPYING.GPLv2: GNU General Public License version 2 - - COPYING.GPLv3: GNU General Public License version 3 - - Note that the toolchain (compiler, linker etc.) may add some code - pieces that are copyrighted. Thus, it is possible that e.g. liblzma - binary wouldn't actually be in the public domain in its entirety - even though it contains no copyrighted code from the XZ Utils source - package. - - If you have questions, don't hesitate to ask the author(s) for more - information. - - -
-
-
-
diff --git a/doc/book-enea-nfv-access-platform-open-source/swcomp.mk b/doc/book-enea-nfv-access-platform-open-source/swcomp.mk deleted file mode 100644 index 6324da1..0000000 --- a/doc/book-enea-nfv-access-platform-open-source/swcomp.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Component build specification - -# Version of THIS book -BOOK_VER ?= $(REL_VER)-dev - -DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) - -BOOKPACKAGES := book-enea-nfv-access-platform-open-source -BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access Platform Open Source Report" -BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/about_release.xml b/doc/book-enea-nfv-access-platform-release-info/doc/about_release.xml deleted file mode 100644 index 01679f8..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/about_release.xml +++ /dev/null @@ -1,294 +0,0 @@ - - - - About This Release - - This release of Enea Linux provides a publicly available - Enea Linux distribution for a selected set of targets. This release is - generated from the yocto distribution using the branch .INFO eltf_params_updated.xml contains many parameters in - the book, also in the open source books, and MUST be created FROM eltf_params_template.xml. The parameters are - automatically used in the books, via xi:include statements, similar to how - parameters from pardoc-distro.xml are included in the book. Read the file - eltf_params_updated_template_how_to_use.txt - for important details about formats and how to do! The idea is that ELTF - will auto-create/update it. - -
- Provided Contents - - - - - - Item - - - - - - Source code, recipes and scripts for building the - distribution and SDKs. See . - - - - Documentation. See . - - - - Pre-built binaries (kernel image, dtb & rootfs) - - - - Pre-built packages (RPM). See links for each - target.INFO Below is an Eclipse row from - eltf_params_updated.xml. MANUALLY if eclipse is not included, set - condition hidden on the row element BOTH in template.xml and in - updated.xml. - - - - - - -
- -
- Supported Targets - - - - - - - - - - - - Target - - Architecture - - Specification - - - - - - P2041RDB - - Power, e500mc - - See link - to NXP's datasheet - - - - - - FIXME should autocreate a list of targets, hopefully from - the generated README file, by using MAKEFILE to update pardoc-distro - AND/OR also auto-create an XML file to include here with description text - for each target etc.. -
- -
- Supported Host Environment - - - - Ubuntu 14.04 LTS, 64-bitHardcoded now in this XML file. - Might be moved to the parameter file later.INFO Below - is a complete section with ID "eltf-target-tables-section" included - from elft_params_updated.xml. It contains a variable number of target - tables and the section title should be "Supported Targets with - Parameters". It has have a short sentence about what it is in the - beginning. The subtitles shall have the directory name of the target - in the manifest. - - -
- - - -
- Provided Packages - - - - - - - - - - Type of Packages - - Reference - - - - - - Packages in Enea Linux - - See the Enea Linux Open Source - Report - - - - - -
- -
- Provided Toolchain/s (SDK) - - The SDK contains toolchains supporting cross-compilation of - applications for the targets on an x86_64 host. See the Enea Linux Application Development - Guide for information on how to build and install a - toolchain. -
- -
- Provided Documentation - - The following Enea Linux manuals are available: - - - - Enea Linux Release - Information (this document) - - - - Enea Linux Platforms Development - Guide - - - - Enea Linux Application Development - Guide - - - - Enea Linux Networking - Profile Guide - - - - Enea Linux Open Source - Report - - - - Enea Linux Eclipse Open Source - Report - - - - Enea Linux Test - Report - - - - Enea Linux Real-Time - Guide can be read at http://linuxrealtime.org. - - -
- -
- Other Provided Functionality - - The functionality in a distribution depends on included packages in - the default image. In addition to the supported features, the following - functionality is also available, among other:INFO: This section - might be hidden by setting condition hidden on the section, MANUALLY in - this file. - - - - On target T4240RDB: - - - - SRIO support in user space (NWRITE, NREAD, msg, - doorbell) - - - - USDPAA - - - - - - Smart Package Management - - -
- -
- Security Fixes - - See List of - CVEs addressed in Enea Linux and How - to Get Security Updates. -
- -
- Intentional Limitations - - The following functionality supported in other Enea Linux releases - has been excluded in this release:INFO: This section might be - hidden by setting condition hidden on the section, MANUALLY in this - file. - - Networking features: DPDK vSwitch, DPDK - - - - Real-time features: Fully Preemptible Kernel (FPK) from the - PREEMPT_RT patch - - - - Memory features: NUMA - - -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/book.xml b/doc/book-enea-nfv-access-platform-release-info/doc/book.xml deleted file mode 100644 index a0adf73..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/book.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - <trademark class="registered">Enea</trademark> NFV Access Platform Release Information - Release Version - - - - - - - - - - diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml b/doc/book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml deleted file mode 100644 index e39dd81..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/build_boot_template.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - Target Specific Instructions - - If the source has been fetched (), there will be a target specific README - file containing the build and boot instructions. To make it easier for the - reader, the contents of this file(s) have been extracted into the following - sections. - - - The build process duration may vary and be longer than expected in - some cases, depending on the individual build resources and parameters of - each target/machine supported in this release. - - - NOTE: Only EDIT THE TEMPLATE build_boot_template.xml file here - and also only edit the manifest template ".README" (name starting by a dot)! - A new build_boot_generated.xml file is created from the template and - sections are added below automatically from the README files for each target - when building the book! Only in the template file you see a line below with - SCRIPT_...._HERE and the text telling that this is a template - file. - - SCRIPT_INCLUDES_BUILD_BOOT_SECTIONS_HERE - - This is a template file which you can edit. When - the book is built, a new XML chapter file is created where the above part of - this file is copied to the new XML file and all from the line above is - replaced automatically by build and boot sections from the README - files! - \ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml deleted file mode 100644 index 278ad71..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_template.xml +++ /dev/null @@ -1,151 +0,0 @@ - - -
- File with Parameters in the Book Auto-updated by ELFT - - - See the eltf_params_updated_template_howto_use.txt text - file for description of how to create the final eltf_params_updated.xml from this template and for - all REQUIREMENTS. Use the command - "make eltf" to extract a full list of all - ELTF variables, which always begins with ELTF_ and don't only rely on the - howto text file list! The plan is that ELTF will auto-update this when - needed. - - -
- Common Parameters - - A programlisting, ID - "eltf-prereq-apt-get-commands-host" - - ELTF_PL_HOST_PREREQ - - A programlisting, ID - "eltf-getting-repo-install-command" - - ELTF_PL_GET_REPO - - Several phrase elements, various IDs. Ensure EL_REL_VER is - correct also compared to the "previous" REL VER in pardoc-distro.xml - "prev_baseline". - - ELTF_EL_REL_VER - - ELTF_YOCTO_VER - - ELTF_YOCTO_NAME - - ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL - - ELTF_EL_DOWNLOAD_TXTURL - - A programlisting, ID "eltf-repo-cloning-enea-linux". Use - $MACHINE/default.xml as parameter, where MACHINE is one of the target - directory names in the manifest. - - ELTF_PL_CLONE_W_REPO - - A table with ONE row, only the row with ID - "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the - template.xml and in the updated.xml, set condition hidden on the - <row>, if eclipse is not in the release. - - - - - - Eclipse version ELTF_ECLIPSE_VERSION plus command line - development tools are included in this Enea Linux release. - - - - - - Below is one big section with title "Supported Targets with - Parameters". The entire section is included completely in the book via ID - "eltf-target-tables-section" and shall be LAST in the template. The - template contains ONE target subsection. COPY/APPEND it, if multiple - targets exist in the release and optionally add rows with additional - target parameters in each target subsection table. -
- -
- Supported Targets with Parameters - - The tables below describes the target(s) supported in this Enea - Linux release. - -
- MACHINE ELTF_T_MANIFEST_DIR - Information - - - - - - - - - - Target official name - - ELTF_T_NAME - - - - Architecture and Description - - ELTF_T_ARC_DESC - - - - Link to target datasheet - - See ELTF_T_DS_TXTURL - - - - Poky version - - ELTF_T_POKY_VER - - - - GCC version - - ELTF_T_GCC_VER - - - - Linux Kernel Version - - ELTF_T_KERN_VER - - - - Supported Drivers - - ELTF_T_DRIVERS - - - - Enea rpm folder for downloading RPM packages for this - target - - ELTF_T_EL_RPM_TXTURL - - - - -
- - -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml deleted file mode 100644 index 40507bb..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated.xml +++ /dev/null @@ -1,165 +0,0 @@ - - -
- File with Parameters in the Book Auto-updated by ELFT - - - See the eltf_params_updated_template_howto_use.txt text - file for description of how to create the final eltf_params_updated.xml from this template and for - all REQUIREMENTS. Use the command - "make eltf" to extract a full list of all - ELTF variables, which always begins with ELTF_ and don't only rely on the - howto text file list! The plan is that ELTF will auto-update this when - needed. - - -
- Common Parameters - - A programlisting, ID - "eltf-prereq-apt-get-commands-host" - - # Host Ubuntu 14.04.5 LTS 64bit -sudo apt-get -y update -sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \ - texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ - make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ - libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ - libxml-parser-perl - - A programlisting, ID - "eltf-getting-repo-install-command" - - mkdir -p ~/bin -curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo -chmod a+x ~/bin/repo -export PATH=~/bin:$PATH - - Several phrase elements, various IDs. Ensure EL_REL_VER is - correct also compared to the "previous" REL VER in pardoc-distro.xml - "prev_baseline". - - 1.0 - - 2.1 - - krogoth - - http://www.yoctoproject.org/downloads/core/krogoth/21 - - https://linux.enea.com/6 - - A programlisting, ID "eltf-repo-cloning-enea-linux". Use - $MACHINE/default.xml as parameter, where MACHINE is one of the target - directory names in the manifest. - - mkdir enea-linux -cd enea-linux -repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ - -b refs/tags/EL6 -m $MACHINE/default.xml -repo sync - - A table with ONE row, only the row with ID - "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set - condition hidden if eclipse is not in the release. Do this both in - template.xml and updated.xml. - - - - - - Eclipse version 4.3 (Mars) plus command line development - tools are included in this Enea Linux release. - - - - - - Below is one big section with title "Supported Targets with - Parameters". The entire section is included completely in the book via ID - "eltf-target-tables-section" and shall be LAST in the template. The - template contains ONE target subsection. COPY/APPEND it, if multiple - targets exist in the release and optionally add rows with additional - target parameters in each target subsection table. -
- -
- Supported Targets with Parameters - - The tables below describes the target(s) supported in this Enea - Linux release. - -
- MACHINE p2041rdb - Information - - - - - - - - - - Target official name - - P2041RDB - - - - Architecture and Description - - Power, e500mc - - - - Link to target datasheet - - See link - to NXP's datasheet - - - - Poky version - - Git-commit-id: - 75ca53211488a3e268037a44ee2a7ac5c7181bd2 - - - - GCC version - - 5.3 - - - - Linux Kernel Version - - 3.12 - - - - Supported Drivers - - Ethernet, I2C, SPI, PCI Express, USB, Flash, - SD/SDHC/SDXC, RTC - - - - Enea rpm folder for downloading RPM packages for this - target - - https://linux.enea.com/6/p2041rgb/rpm - - - - -
-
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated_template_how_to_use.txt deleted file mode 100644 index a75acfc..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/eltf_params_updated_template_how_to_use.txt +++ /dev/null @@ -1,320 +0,0 @@ -eltf_params_template_updated_howto_use.txt - -This is a way to collect all parameters for an Enea Linux release -in one parameter file, easy to automatically update by ELTF regularly. - -NOTE: Both the release info AND the open source books use parameters from - here, but the XML file is inside the release info book directory. - -NOTE: The manifest_conf.mk, or overridden by the environment variable - MANIFESTHASH, contains the full tag (or hashvalue) for downloading - the manifest when the books are built. The list of target - directories are fetched from the manifest into the book. - The eltf_params_updates.xml can all the time contain - the final next complete tag e.g. refs/tags/EL6 or similar - in the ELTF_PL_CLONE_W_REPO parameter command lines. - -The ordinary book XML files use xi:include statements to include elements -from this parameter file. The book XML files can thus be manually edited. -Before editing, you must run "make init". -Any other text in the template or updated.xml file, outside the parts that -are included in the book, are not used but still all must be correct -DocBook XML files. - -ELTF work: - template => ELTF replaces ALL ELTF_xxx variables => updated XML file - => push to git only if changed - - -eltf_params_template.xml (in git) - File used by ELTF to autocreate/update the real parameter - file eltf_params_updated.xml. - -eltf_params_updated.xml (in git) - Real parameter file where ELTF has replaced all ELTF_xx variables with - strings, in several cases with multiline strings. - No spaces or linefeed allowed in beginning or end of the variable values! - - -xi:include: Each parameter is xi:include'ed in various book files, using - the IDs existing in the parameter files. - In most cases the 1:st element inside an element with an ID is included - using a format like eltf-prereq-apt-get-commands-host/1. - In very few cases the element with the ID is included in the book, one - example is the target section which has an ID, but which contains - multiple subsections, one per target. - All IDs in a book must be unique. - -DocBook XML: All XML files must be correct DocBook XML files. - -Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes - not done by ELTF. But it is OK to open the real file in XMLmind to - check that the format is correct. - -ELTF should autocreate a temporary "real" file but only replace - and push the eltf_params_updated.xml if it is changed. - - -make eltf - This lists all ELTF_xxx variables and some rules how to treat them - -DocBook Format: All elements - rules: - Several strict generic XML rules apply for all strings: - 1. No TABs allowed or any other control chr than "linefeed" - 2. Only 7-bit ASCII - 3. Any < > & must be converted to < > and & - Similar for any other non-7-bit-ASCII but avoid those! - 4. No leading spaces or linefeeds when replacing the ELTF_* variable - 5. No trailing spaces or linefeeds when replacing the ELTF_* variable - 6. Note: Keep existing spaces before/efter ELTF_* in a few cases. - -DocBook Format: - rules: ELTF*PL* variables - Several strict rules apply for the multiline string in programlisting - in addition to the general XML rules above: - 7. Max line length < 80 char - 8. Use backslash (\) to break longer lines - 9. Use spaces (e.g. 4) to indent continuation lines in programlistings - 10. No trailing spaces on any line - 11. No spaces or linefeed immediately after leading - 12. No spaces or linefeed before trailing - -DocBook Format: - rules: ELTF_*URL* variables - 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings - 14. Only if the URL is extremely long, the TXTURL can be a separate string - -Each target has one section with target parameters: -
- MACHINE ELTF_T_MANIFEST_DIR - Information - ..... with many ELTF_ variables .... -
- - 15. If there is only one target. ELTF just replaces ELTF parameters - - 16. It there are multiple targets. ELTF copies the section and appends the - section the required number of times. - Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR - Each section title will become unique - -Tables with target parameters in each target section: - 17. It is possible for ELTF to append more rows with one parameter each - to these tables, because the entire tables are included in the book - -Special - NOT YET READY DEFINED how to handle the optionally included - Eclipse and its version, but this is a first suggestion: - 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string - with both version number and name, - 19. MANUALLY if Eclipse is NOT included in the release, - the release manager should manually set condition="hidden" on - the entire section in the book XML about Eclipse - - - -BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf -if there are more new variables, missing in this description file. - -_____________________________________________________________________________ -ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands - like sudo apt-get install xxxx or similar. - First line = comment with the complete host name! - It is possible to include multiple hosts by just - adding an empty line, comment with host name, etc. - xi:include eltf-prereq-apt-get-commands-host/1 - This is a ... - Example: -# Host Ubuntu 14.04.5 LTS 64bit -sudo apt-get update -sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \ - texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ - make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ - libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ - libxml-parser-perl - -_____________________________________________________________________________ -ELTF_PL_GET_REPO Multiline commands to download the repo tool - xi:include eltf-getting-repo-install-command/1 - This is a ... - Example: -mkdir -p ~/bin -curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo -chmod a+x ~/bin/repo -export PATH=~/bin:$PATH - -_____________________________________________________________________________ -ELTF_EL_REL_VER General parameter string: The version of this Enea - Linux release. Major version and optional .Minor - Typically created from MAJOR and MINOR in enea.conf - MINOR in enea.conf is empty or contains a dot+minor - xi_include EneaLinux_REL_VER/1 - This is a X.x used in many places. - Examples: -6 - or -6.1 - -_____________________________________________________________________________ -ELTF_YOCTO_VER General parameter string: Yocto version, created - from DISTRO in poky.ent - xi:include Yocto_VER/1 - This is a X.x used in many places. - Example: -2.1 - -_____________________________________________________________________________ -ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created - from DISTRO_NAME_NO_CAP in poky.ent - xi:include Yocto_NAME/1 - This is a X.x used in many places. - Example: -krogoth - -_____________________________________________________________________________ -ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL -ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string - at the end, typically without "dot". - xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1 - This is an ... - Example: -http://www.yoctoproject.org/downloads/core/krogoth/21 - -_____________________________________________________________________________ -ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings -ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where - Enea Linux can be downloaded - Often containing same version as in ELTF_EL_REL_VER - xi:include ULINK_ENEA_LINUX_URL/1 - This is an ... - Example: -http://linux.enea.com/6 - -_____________________________________________________________________________ -ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything. - Use the variable $MACHINE/default.xml (the text in - the book will list the avaiable values of MACHINE, - taken from the manifest repository) - xi:include eltf-repo-cloning-enea-linux/1 - This is a ... - Example: -mkdir enea-linux -cd enea-linux -repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ - -b refs/tags/EL6 -m $MACHINE/default.xml -repo sync - -_____________________________________________________________________________ -ELTF_ECLIPSE_VERSION Optional general parameter string. - NOT YET READY DEFINED - Just now a release manage must manually set - condition="hidden" on the Eclipse section, - if Eclipse is not included in the release. - ELTF just replaces ELTF_ECLIPSE_VERSION with a full - string with "X.Y (name)" - It includes the ID and can only be ONCE in the book. - xi:include eltf-eclipse-version-row - Example. -4.5 (Mars) - - -_____________________________________________________________________________ -ELTF_T_* All these are in each target (MACHINE) and ELTF - must separately replace them with strings for - each target - NOTE: All (except the MANIFEST_DIR) are in rows - in a table and ELTF can select to append - more parameters by adding more rows - -_____________________________________________________________________________ -ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly -ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same - as the MACHINE names in $MACHINE/default.xml. - In book: a) Part of section ID - b) Part of section title - Examples: -p2041rgb - or -ls1021aiot - or -qemuarm - -_____________________________________________________________________________ -ELTF_T_NAME Target specific: "Target Official Name" - NOT same as the target directory name in most cases. - In book: An element in a row - Examples: -P2041RGB - or -LS1021a-IoT - or -qemuarm - -_____________________________________________________________________________ -ELTF_T_ARC_DESC Target specific: "Architecture and Description" - It can be a short identification string or - it can be a longer descriptive sentence. - In book: An element in a row - Examples: -Power, e500mc - or -ARM Cortex-A7 - -_____________________________________________________________________________ -ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These -ELTF_T_DS_URL two usually are IDENTICAL strings with correct - hyperlink to the target's official datasheet. - In book: an ... - Only if the link is VERY LONG, the text part shall - instead be a descriptive string (see 2:nd example). - NOTE: Also here no spaces or line-feeds! - Examples: -url="http://wiki.qemu.org">http://wiki.qemu.org -or -url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet - -_____________________________________________________________________________ -ELTF_T_POKY_VER Target specific: "Poky version" created either - from POKYVERSION in poky.ent - or using a hashvalue with a leading string, in - which case it may be different per target. - In book: An in a row - Examples: -15.0.0 -or -Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 - -_____________________________________________________________________________ -ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky - but not easy to find among various parameters. - ELTF would extract it from build logs building SDK - and it is possibly different per target. - In book: An in a row - Example: -5.3 - -_____________________________________________________________________________ -ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often - different per target. - In book: An in a row - Example: -3.12 - -_____________________________________________________________________________ -ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a - comma-separated list of driver names. - ELTF should create the list in same order for each - target, e.g. alphabetic migth be OK. - In book: An in a row - Example: -Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC - - -_____________________________________________________________________________ -ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading -ELTF_T_EL_RPM_URL RPM packages for this target". These two are - INDENTICAL strings with hyperlink to the web site - at Enea where the customer can download RPMs - Note: Often the ELFT_EL_REL_VER value and - the ELTF_T_MANIFEST_DIR are used in the link. - In book: an ... - Example: -url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm - -_____________________________________________________________________________ diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/getting_enea_linux.xml b/doc/book-enea-nfv-access-platform-release-info/doc/getting_enea_linux.xml deleted file mode 100644 index 075ade5..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/getting_enea_linux.xml +++ /dev/null @@ -1,205 +0,0 @@ - - - - Getting Enea Linux - - Enea Linux is available as both pre-built binary images and source - code. Both serve a specific purpose and each have their advantages. However, - using the pre-built binary images allows for getting up and running faster. - Please refer to the sections below for details on how to get Enea Linux as - pre-built binary images or source code. - -
- Getting Pre-built Binaries - - Enea Linux pre-built binaries are available for download on Enea - Download Portal. Log in using the credentials provided. Using the - menu, browse to the Linux section. You - will now have access to the Files section - and the Online Documentation - section. - - The Files section lists each Enea Linux distribution, one for each - version and profile, as a separate download package. Clicking on the name - of the distribution will open a new page, which presents further details - about the content of the release and a list of downloadable archives, one - for each hardware target included in the release. Each archive provides - the following content: - - - - images directory – this directory - includes the binary image files needed to boot the target with Enea - Linux. This includes the kernel, the root file system, device tree, - etc. - - - - sdk directory – this directory - includes the installer for the SDK. - - - - rpm directory – this directory - contains all the packages included in the distribution in rpm format, - which can be installed using the package manager. - - - - For faster downloads, each archive is mirrored in several places, - geographically. Choose the archive in the region closest to you. - - The Documentation section lists all the documents delivered with the - release: - - - - Enea Linux Platform Developer’s - Guide -intended for Enea Linux platform developers, who - want to configure and build customized Linux kernel images for - embedded system targets, using the Yocto configuration and build - system. - - - - Enea Linux Application Developer's - Guide - dedicated to Enea Linux application developers, who - want to build and run applications. - - - - Enea Linux Virtualization Guide - - provides further information meant to get the most out of the - virtualization features. - - - - Enea Linux Open Source Report - - contains the open source and license information pertaining to - packages provided with this release of Enea Linux. - - - - Enea Linux Eclipse Open Source - Report - contains the open source and license information - pertaining to the Eclipse package provided with this release of Enea - Linux. - - - - Enea Linux Release Info - - provides information about the current released distribution for a - selected set of targets, along with installation requirements and - procedures. - - -
- -
- Getting the Sources - - Enea Linux sources are available for cloning from a set of Git - repositories on git.enea.com. - Since Enea Linux requires multiple repositories, Google Repo tool is used - in order to manage configurations and make the cloning step simpler. - Google Repo tool uses files, known as manifests, which store a list of - tuples (repository URL, version). The Repo tool is then used to traverse - the list of tuples in the manifest file and clone the specified versions - of each repository. See https://code.google.com/p/git-repo/ - for more info. - -
- Get access to git.enea.com - - In order to get access to git.enea.com, a ssh key is required for - Git authentication. If you don't already have such a key, follow the - steps below to generate one: - - - - Generate the ssh key pair: - - $ ssh-keygen -t rsa - - When asked for a password, just press Enter. This will create - two files in the .ssh directory in your home directory. - - id_rsa -id_rsa.pub - - - - Copy the public key into an authorized_keys file: - - $ cat id_rsa.pub >> authorized_keys - - - - Once these steps are done and you have a valid ssh key pair, send - the public key, id_rsa.pub, via email to - mailto:git_support@list.enea.se in order to get access to - git.enea.com. -
- -
- Get Sources - - To use the Repo tool to download the sources for Enea Linux, do - the following: - - - - Make sure that the repo tool is installed. If not, do the - following: Below is include of ID - "eltf-getting-repo-install-command" from - eltf_params_updated.xml - - - - - - Define the MACHINE from one of the targets listed - here,Below is the "machine_list" programlisting in - machine_list_generated.xml created by the make system by extracting - from the manifest - - - - - - Then use the repo command below: Below is include of - ID "eltf-repo-cloning-enea-linux" from eltf_params_updated.xml. Here - the $MACHINE shall be given! - - - - - - Once the source code is downloaded, the current directory will - contain a README file with instructions on how to build the distro and - boot the machine you choose. For ease of use, these instructions are - also copied into this document, see . - - It's not necessary to explicitly clone the manifest repository - since that is done automatically by the repo tool. To see the current - manifest, use the following command: - - $ repo manifest - - The UG should be updated with instructions on how to add - customizations. That section should also contain more info about the - manifest: the manifest templates, using a branch instead of the tag EL6, - etc. When this is done a reference from here should be added. -
-
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/jiraissues_override.xml b/doc/book-enea-nfv-access-platform-release-info/doc/jiraissues_override.xml deleted file mode 100644 index 7282d0f..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/jiraissues_override.xml +++ /dev/null @@ -1,36 +0,0 @@ - - -
- Release-Specific Problems - - - - - - - - - - Summary - - Enea Ref - - - - - - Eclipse Plug-Ins for Perf and Latencytop are not functioning properly on P2041RDB target. - - LXCR-6936 - - - - LTTng kernel tracing from Eclipse does not work due to RSE connectivity problems.As a workaround, traces can be collected on target and visualized on Eclipse, after copying the files on the host system. - - LXCR-7166 - - - - -
diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/known_bugs_and_limitations.xml b/doc/book-enea-nfv-access-platform-release-info/doc/known_bugs_and_limitations.xml deleted file mode 100644 index 173046b..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/known_bugs_and_limitations.xml +++ /dev/null @@ -1,267 +0,0 @@ - - - - Known Problems in This Release - - The open source projects are continuously working on correcting - reported problems. Corrections to bugs detected by Enea are submitted - upstream, and the corrections are included in Enea Linux regardless of when - they will be included by the open source project. Remaining issues are - listed below.INFO: The Release-Specific - Problems section further down is generated from JIRA with - gen_known_issues.py, but that script is HARDCODED with affectedversion "Enea - Linux 6" and needs to be adapted when a release info for another EL version - changes. - -
- Yocto - - The Yocto Project community uses a Bugzilla database to track - information on reported bugs and other issues: - https://bugzilla.yoctoproject.org. -
- -
- Toolchain / SDK - - - - Building the kernel might fail if GNU Make of version 3.82 has - been installed on the host. The mandatory recovery action is to revert - to version 3.81.INFO It is possible to hide this entire - subsection by setting condition hidden on the section - element - - - - Installing a second toolchain in the same directory as a - previous one will break the $PATH variable of the first - one.LXCR-3624 - - -
- -
- Smart Package Manager - - Installation of some packages might currently fail when installing - using the Smart Package Manager. An example is the qemu package. Errors - can e.g. be reported by smart about conflicts with files from other - packages.INFO It is possible to hide this setting condition hidden - on the section element - - The recommended solution to this problem is to install the failing - package using rpm, already available in enea-image-base. In order to - install it using rpm, first install rpm using the command smart - install rpm, then download the package to the target, and - finally on the target use rpm -i - <packagename>.rpm. If not installed, several dependencies - can be reported as "Failed dependencies" with lines "x is needed by y". In - that case, install the required packages "x" found by dependencies by - using the smart package manager. Add a channel to an accessible directory - containing all missing rpm packages. Add packages detected to be missing, - until all dependencies are resolved.FIXME It would be nice to add - also a PowerPC example with qemu failing, the example below is for - ARM. - -
- Example with Failing QEMU Package - - As an example, the qemu installation can show the following - error.INFO It is possible to hide this setting condition hidden - on the section element - - - The example below is for ARM, including the RPM names. For - PowerPC similar errors can occur and other packages are needed. - - - error: file /var/run from install of - qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 conflicts with file from package - base-files-3.0.14-r89.0.hierofalcon - - A solution to this problem is to install the above qemu package - using rpm, already available in enea-image-base. In order to install it - using rpm, first install rpm using the command smart install - rpm, then download the above package from - <build_dir>/tmp/deploy/rpm/aarch64. On target, use rpm -i - qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64.rpm. If not installed, - several dependencies can be seen, e.g.: - - error: Failed dependencies: - libpixman-1-0 >= 0.32.6 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - libpixman-1.so.0()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - libglib-2.0.so.0()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - libcap2 >= 2.22 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - libglib-2.0-0 >= 2.40.0 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - bluez4 >= 4.101 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - libbluetooth.so.3()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - libcap.so.2()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 - - Install the required packages found by dependencies by using the - smart package manager, as specified in the User's Guide, by adding a - channel to an accessible directory containing all of the above rpm - packages. Suggestion for installing required packages, as in the - following example for qemu and ARM: - - smart install bash - smart install libcap - smart install bluez4 - smart install libpixman-1-0 - rpm -i qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64.rpm - - Add packages detected to be missing until all dependencies are - resolved. -
-
- -
- Target-Side Tools - - - - The perf report does not show - any output for the PandaBoard target.LXCR-2710 - - - - perf top displays for a few - seconds the error message Failed to open - /tmp/perf-388.map. Any attempt to exit the subsequent window - causes the system to hang.LXCR-3113 - - - - When running the perf top command on the i.MX - 6Quad SABRE Lite target, the console text may become red after running - for some time (~ 1 minute).LXCR-3631 - - - - The powertop --calibrate - command does not work on the Keystone k2hk-evm - target.LXCR-2660 - - - - The powertop command run with - --calibrate or --time arguments may show some warnings on - PowerPC targets. - - - - If you get an error message like Cannot load from file - /var/cache/powertop/saved_results.powertop when running - powertop, there is most likely not - enough measurement data collected yet. All you have to do is to keep - powertop running for a certain time.LXCR-2176, LXCR-2660, - LXCR-3106 - - - - The message Model-specific registers (MSR) not found - (try enabling CONFIG_X86_MSR) appears when you run powertop on non-x86 targets. powertop is mainly an x86n - tool, so it expects X*^_MSR config to be enabled in the kernel. For - non-x86 targets this config is not available in the kernel, hence, - powertop warns about it, but the message can be ignored on those - targets. LXCR-2176, LXCR-2660, LXCR-3106 - - - - powertop issues a message - sh: /usr/bin/xset: No such file or directory when - it tries to use xset to configure X display preferences but cannot - find the binary since the image by default contains no X system. The - message can simply be ignored.LXCR-2176 - - -
- -
- Virtualization - - - - virtualization: CONFIG_BRIDGE - is not included in the default p2020rdb - kernel.LXVTCR-273 - - - - lxc: - - - - User namespace is not available on PowerPC targets as it is - an experimental feature in the 3.8 kernel. - - - - If multiple Linux containers are started from the same - process and share resources, destroying the containers might - result in a race condition with error message "Error in - `./lxc-test-concurrent': double free or corruption (fasttop)" - followed by an application - crash."LXVTCR-365 - - - - - - libvirt: Default network does - not start.LXVTCR-240 - - -
- -
- Documentation - - - - PDF navigation: When using - links to open other PDFs, or jump to another place in the same PDF, - jumping back sometimes fails. This has been observed when opening a - PDF in Adobe Reader, inside a browser with PDF add-on, as well as when - the browser is configured to open PDF files in an external PDF reader. - As a workaround, open the HTML version of the - document.LXCR-3283 - - - - Internet Explorer (IE) cannot display some - web pages: It is recommended to use Firefox or another - non-IE browser for opening external links. If you prefer reading the - documentation in PDF format in Adobe Reader (not in an Adobe plug-in - in a browser), remember to configure a non-IE browser as default - browser to be able to follow all links from within Adobe Reader. - Example of a link that does not work in IE: https://rt.wiki.kernel.org/. - LXCR-3281 - - -
- -
- Miscellaneous - - - - menuconfig requires Ncurses. If the terminal that pops up - immediately closes instead of showing the menuconfig interface, check - that the Ncurses development library is installed. - - -
- - - - -
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/main_changes.xml b/doc/book-enea-nfv-access-platform-release-info/doc/main_changes.xml deleted file mode 100644 index 115acb5..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/main_changes.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - Main Changes - - N/A. - - This is the first release of Enea Linux, Networking profile. - -
- New Functionality/Enhancements - - Based in the Jira query: 'project = CPDX and fixVersion = "Enea - Linux 6"' - - - - New Yocto version (). See https://www.yoctoproject.org/downloads/core/krogoth21. - - - - Introduction of the repo tool to manage the Git - repositories. - - - - For details, see the Git logs for the repositories specified in the - manifest files. See for more inf - on repos and the manifest. -
- -
- Problems Fixed in this Release - - TBD FIXME or set condition hidden -
- -
- Added Drivers - - TBD FIXME or set condition hidden -
- - -
diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/prerequisites.xml b/doc/book-enea-nfv-access-platform-release-info/doc/prerequisites.xml deleted file mode 100644 index 9c5aa95..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/prerequisites.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - Prerequisites - - Building Enea Linux or compiling applications requires that your git - environment be setup properly and for certain packages to be installed on - your Linux development host. - - Please refer to Getting - Started - First-Time Git Setup, for more details on how to set up - your git environment correctly, including how to set your identity using the - following commands: - - $ git config --global user.name "John Doe" -$ git config --global user.email johndoe@example.com - - First ensure the system is up-to-date, then for the supported - distribution(s), you need the following packages:INFO: The - programlisting below is a parameters in eltf_params_updated.xml with ID: - "eltf-prereq-apt-get-command-host". If multiple hosts are supported, store - the commands for each host in the same programlisting with empty lines - between each - the comment with the FULL HOST name and version is - essential. - - - - - \ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/doc/system_requirements.xml b/doc/book-enea-nfv-access-platform-release-info/doc/system_requirements.xml deleted file mode 100644 index e94d012..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/doc/system_requirements.xml +++ /dev/null @@ -1,162 +0,0 @@ - - -
- System Requirements - - The host requirements listed below are extensive to allow for the - building of Linux images via the Yocto system and not just - applications. - - Please also see the system requirements in the Yocto 2.1 documents: - Yocto Project Start - http://www.yoctoproject.org/docs/2.1/yocto-project-qs/yocto-project-qs.html#yp-resources - and the Yocto Project Reference Manual - http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#intro-requirements. - If needed, replace the Yocto version in the link(s) provided with a more - recent version. - - - - - - - - - - - - Build host - requirements - system requirements - - - - - Linux distribution - - The downloaded code shall be built on a Linux host to - generate images for your target or for emulation in QEMU. For - information about the supported hosts and targets, see the Enea Linux Release Information in your Enea - Linux distribution. - - - - Internet access - - Internet access must be available when building an image, - since bitbake downloads source files from various servers during the - build. - - - - Packages - - Depending on the Linux distribution and version on host, some - packages may be required, by bitbake for example. You will install - any required packages while following the installation - instructions. - - - - Targets - - Images can be built or downloaded for any of the targets - supported in this release, as specified in the Enea Linux Release Information. - - - - Disk space - - Your system should have at least 50 GB of free disk - space when bitbaking the basic enea-image-name kernel image. - For larger images and to allow for future package extensions - and variations in the build process, a minimum of 100 GB free disk - space is recommended. - - - - Recommended RAM - - Your system must have at least 4 GB available - RAM. It is recommended to have 8 GB RAM available for - parallel build jobs. - - - - Java - - Java - java - is required to run Eclipse. Currenly, Eclipse - generally recommends at least Java 6 JRE/JDK. More information - regarding operating environments for Eclipse, is provided in the - Eclipse Project Release Notes for the version - used. This can usually be found via - http://www.eclipse.org/eclipse/development/readme_eclipse_version. - See the Enea Linux Release Information - for the Eclipse Version. - - - - - - The build time depends on the capacity of the processor and other - hardware, available resources, speed of internet connection, load situation, - etc. E.g: on a fast 16 core machine with 16 GB RAM and SSD disks, a complete - build from source could take about two hours. - - - - - - - - - - - - Target - Requirements - - - - External memory - - To boot a CGL - CGL - image, you need at least 16 GB on a hard-disk - drive - HDD - on eSATA, USB drive, or SD card.INFO: (packed - rootfs 4.5 GB + unpacked rootfs 1.5 GB + good - margins)INFO: NFS does not support SELinux. In - order to have a security-enhanced Linux, one must take off from an - NFS-booted system and proceed with boot from external - memory. - - - - - -
- System Shell Configuration - - Before installing Enea Linux, ensure that bash is the default - shell. - - If your system runs Ubuntu, you can use ls -l to ensure - /usr/bin is a symbolic link to bash. In case the link - points to dash, which is default in some Ubuntu versions, change it to - bash by running sudo dpkg-reconfigure - dash and answer No to the - question "Use dash as the default system shell (/bin/sh)?": - - # ls -l /bin/sh - lrwxrwxrwx 1 root root 4 2012-03-02 11:53 /bin/sh -> bash -
-
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-platform-release-info/swcomp.mk b/doc/book-enea-nfv-access-platform-release-info/swcomp.mk deleted file mode 100644 index c246cb2..0000000 --- a/doc/book-enea-nfv-access-platform-release-info/swcomp.mk +++ /dev/null @@ -1,10 +0,0 @@ -# Component build specification - -# Version of THIS book -BOOK_VER ?= $(REL_VER)-dev - -DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) - -BOOKPACKAGES := book-enea-nfv-access-platform-release-info -BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access Platform $(PROD_VER) Release Information" -BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) diff --git a/doc/book-enea-nfv-access-release-info/doc/about_release.xml b/doc/book-enea-nfv-access-release-info/doc/about_release.xml new file mode 100644 index 0000000..01679f8 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/about_release.xml @@ -0,0 +1,294 @@ + + + + About This Release + + This release of Enea Linux provides a publicly available + Enea Linux distribution for a selected set of targets. This release is + generated from the yocto distribution using the branch .INFO eltf_params_updated.xml contains many parameters in + the book, also in the open source books, and MUST be created FROM eltf_params_template.xml. The parameters are + automatically used in the books, via xi:include statements, similar to how + parameters from pardoc-distro.xml are included in the book. Read the file + eltf_params_updated_template_how_to_use.txt + for important details about formats and how to do! The idea is that ELTF + will auto-create/update it. + +
+ Provided Contents + + + + + + Item + + + + + + Source code, recipes and scripts for building the + distribution and SDKs. See . + + + + Documentation. See . + + + + Pre-built binaries (kernel image, dtb & rootfs) + + + + Pre-built packages (RPM). See links for each + target.INFO Below is an Eclipse row from + eltf_params_updated.xml. MANUALLY if eclipse is not included, set + condition hidden on the row element BOTH in template.xml and in + updated.xml. + + + + + + +
+ +
+ Supported Targets + + + + + + + + + + + + Target + + Architecture + + Specification + + + + + + P2041RDB + + Power, e500mc + + See link + to NXP's datasheet + + + + + + FIXME should autocreate a list of targets, hopefully from + the generated README file, by using MAKEFILE to update pardoc-distro + AND/OR also auto-create an XML file to include here with description text + for each target etc.. +
+ +
+ Supported Host Environment + + + + Ubuntu 14.04 LTS, 64-bitHardcoded now in this XML file. + Might be moved to the parameter file later.INFO Below + is a complete section with ID "eltf-target-tables-section" included + from elft_params_updated.xml. It contains a variable number of target + tables and the section title should be "Supported Targets with + Parameters". It has have a short sentence about what it is in the + beginning. The subtitles shall have the directory name of the target + in the manifest. + + +
+ + + +
+ Provided Packages + + + + + + + + + + Type of Packages + + Reference + + + + + + Packages in Enea Linux + + See the Enea Linux Open Source + Report + + + + + +
+ +
+ Provided Toolchain/s (SDK) + + The SDK contains toolchains supporting cross-compilation of + applications for the targets on an x86_64 host. See the Enea Linux Application Development + Guide for information on how to build and install a + toolchain. +
+ +
+ Provided Documentation + + The following Enea Linux manuals are available: + + + + Enea Linux Release + Information (this document) + + + + Enea Linux Platforms Development + Guide + + + + Enea Linux Application Development + Guide + + + + Enea Linux Networking + Profile Guide + + + + Enea Linux Open Source + Report + + + + Enea Linux Eclipse Open Source + Report + + + + Enea Linux Test + Report + + + + Enea Linux Real-Time + Guide can be read at http://linuxrealtime.org. + + +
+ +
+ Other Provided Functionality + + The functionality in a distribution depends on included packages in + the default image. In addition to the supported features, the following + functionality is also available, among other:INFO: This section + might be hidden by setting condition hidden on the section, MANUALLY in + this file. + + + + On target T4240RDB: + + + + SRIO support in user space (NWRITE, NREAD, msg, + doorbell) + + + + USDPAA + + + + + + Smart Package Management + + +
+ +
+ Security Fixes + + See List of + CVEs addressed in Enea Linux and How + to Get Security Updates. +
+ +
+ Intentional Limitations + + The following functionality supported in other Enea Linux releases + has been excluded in this release:INFO: This section might be + hidden by setting condition hidden on the section, MANUALLY in this + file. + + Networking features: DPDK vSwitch, DPDK + + + + Real-time features: Fully Preemptible Kernel (FPK) from the + PREEMPT_RT patch + + + + Memory features: NUMA + + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/doc/book.xml b/doc/book-enea-nfv-access-release-info/doc/book.xml new file mode 100644 index 0000000..a0adf73 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/book.xml @@ -0,0 +1,18 @@ + + + + <trademark class="registered">Enea</trademark> NFV Access Platform Release Information + Release Version + + + + + + + + + + diff --git a/doc/book-enea-nfv-access-release-info/doc/build_boot_template.xml b/doc/book-enea-nfv-access-release-info/doc/build_boot_template.xml new file mode 100644 index 0000000..e39dd81 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/build_boot_template.xml @@ -0,0 +1,34 @@ + + + + Target Specific Instructions + + If the source has been fetched (), there will be a target specific README + file containing the build and boot instructions. To make it easier for the + reader, the contents of this file(s) have been extracted into the following + sections. + + + The build process duration may vary and be longer than expected in + some cases, depending on the individual build resources and parameters of + each target/machine supported in this release. + + + NOTE: Only EDIT THE TEMPLATE build_boot_template.xml file here + and also only edit the manifest template ".README" (name starting by a dot)! + A new build_boot_generated.xml file is created from the template and + sections are added below automatically from the README files for each target + when building the book! Only in the template file you see a line below with + SCRIPT_...._HERE and the text telling that this is a template + file. + + SCRIPT_INCLUDES_BUILD_BOOT_SECTIONS_HERE + + This is a template file which you can edit. When + the book is built, a new XML chapter file is created where the above part of + this file is copied to the new XML file and all from the line above is + replaced automatically by build and boot sections from the README + files! + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-release-info/doc/eltf_params_template.xml new file mode 100644 index 0000000..278ad71 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/eltf_params_template.xml @@ -0,0 +1,151 @@ + + +
+ File with Parameters in the Book Auto-updated by ELFT + + + See the eltf_params_updated_template_howto_use.txt text + file for description of how to create the final eltf_params_updated.xml from this template and for + all REQUIREMENTS. Use the command + "make eltf" to extract a full list of all + ELTF variables, which always begins with ELTF_ and don't only rely on the + howto text file list! The plan is that ELTF will auto-update this when + needed. + + +
+ Common Parameters + + A programlisting, ID + "eltf-prereq-apt-get-commands-host" + + ELTF_PL_HOST_PREREQ + + A programlisting, ID + "eltf-getting-repo-install-command" + + ELTF_PL_GET_REPO + + Several phrase elements, various IDs. Ensure EL_REL_VER is + correct also compared to the "previous" REL VER in pardoc-distro.xml + "prev_baseline". + + ELTF_EL_REL_VER + + ELTF_YOCTO_VER + + ELTF_YOCTO_NAME + + ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL + + ELTF_EL_DOWNLOAD_TXTURL + + A programlisting, ID "eltf-repo-cloning-enea-linux". Use + $MACHINE/default.xml as parameter, where MACHINE is one of the target + directory names in the manifest. + + ELTF_PL_CLONE_W_REPO + + A table with ONE row, only the row with ID + "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the + template.xml and in the updated.xml, set condition hidden on the + <row>, if eclipse is not in the release. + + + + + + Eclipse version ELTF_ECLIPSE_VERSION plus command line + development tools are included in this Enea Linux release. + + + + + + Below is one big section with title "Supported Targets with + Parameters". The entire section is included completely in the book via ID + "eltf-target-tables-section" and shall be LAST in the template. The + template contains ONE target subsection. COPY/APPEND it, if multiple + targets exist in the release and optionally add rows with additional + target parameters in each target subsection table. +
+ +
+ Supported Targets with Parameters + + The tables below describes the target(s) supported in this Enea + Linux release. + +
+ MACHINE ELTF_T_MANIFEST_DIR - Information + + + + + + + + + + Target official name + + ELTF_T_NAME + + + + Architecture and Description + + ELTF_T_ARC_DESC + + + + Link to target datasheet + + See ELTF_T_DS_TXTURL + + + + Poky version + + ELTF_T_POKY_VER + + + + GCC version + + ELTF_T_GCC_VER + + + + Linux Kernel Version + + ELTF_T_KERN_VER + + + + Supported Drivers + + ELTF_T_DRIVERS + + + + Enea rpm folder for downloading RPM packages for this + target + + ELTF_T_EL_RPM_TXTURL + + + + +
+ + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-release-info/doc/eltf_params_updated.xml new file mode 100644 index 0000000..40507bb --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/eltf_params_updated.xml @@ -0,0 +1,165 @@ + + +
+ File with Parameters in the Book Auto-updated by ELFT + + + See the eltf_params_updated_template_howto_use.txt text + file for description of how to create the final eltf_params_updated.xml from this template and for + all REQUIREMENTS. Use the command + "make eltf" to extract a full list of all + ELTF variables, which always begins with ELTF_ and don't only rely on the + howto text file list! The plan is that ELTF will auto-update this when + needed. + + +
+ Common Parameters + + A programlisting, ID + "eltf-prereq-apt-get-commands-host" + + # Host Ubuntu 14.04.5 LTS 64bit +sudo apt-get -y update +sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \ + texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ + make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ + libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ + libxml-parser-perl + + A programlisting, ID + "eltf-getting-repo-install-command" + + mkdir -p ~/bin +curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo +chmod a+x ~/bin/repo +export PATH=~/bin:$PATH + + Several phrase elements, various IDs. Ensure EL_REL_VER is + correct also compared to the "previous" REL VER in pardoc-distro.xml + "prev_baseline". + + 1.0 + + 2.1 + + krogoth + + http://www.yoctoproject.org/downloads/core/krogoth/21 + + https://linux.enea.com/6 + + A programlisting, ID "eltf-repo-cloning-enea-linux". Use + $MACHINE/default.xml as parameter, where MACHINE is one of the target + directory names in the manifest. + + mkdir enea-linux +cd enea-linux +repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ + -b refs/tags/EL6 -m $MACHINE/default.xml +repo sync + + A table with ONE row, only the row with ID + "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set + condition hidden if eclipse is not in the release. Do this both in + template.xml and updated.xml. + + + + + + Eclipse version 4.3 (Mars) plus command line development + tools are included in this Enea Linux release. + + + + + + Below is one big section with title "Supported Targets with + Parameters". The entire section is included completely in the book via ID + "eltf-target-tables-section" and shall be LAST in the template. The + template contains ONE target subsection. COPY/APPEND it, if multiple + targets exist in the release and optionally add rows with additional + target parameters in each target subsection table. +
+ +
+ Supported Targets with Parameters + + The tables below describes the target(s) supported in this Enea + Linux release. + +
+ MACHINE p2041rdb - Information + + + + + + + + + + Target official name + + P2041RDB + + + + Architecture and Description + + Power, e500mc + + + + Link to target datasheet + + See link + to NXP's datasheet + + + + Poky version + + Git-commit-id: + 75ca53211488a3e268037a44ee2a7ac5c7181bd2 + + + + GCC version + + 5.3 + + + + Linux Kernel Version + + 3.12 + + + + Supported Drivers + + Ethernet, I2C, SPI, PCI Express, USB, Flash, + SD/SDHC/SDXC, RTC + + + + Enea rpm folder for downloading RPM packages for this + target + + https://linux.enea.com/6/p2041rgb/rpm + + + + +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-release-info/doc/eltf_params_updated_template_how_to_use.txt new file mode 100644 index 0000000..a75acfc --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/eltf_params_updated_template_how_to_use.txt @@ -0,0 +1,320 @@ +eltf_params_template_updated_howto_use.txt + +This is a way to collect all parameters for an Enea Linux release +in one parameter file, easy to automatically update by ELTF regularly. + +NOTE: Both the release info AND the open source books use parameters from + here, but the XML file is inside the release info book directory. + +NOTE: The manifest_conf.mk, or overridden by the environment variable + MANIFESTHASH, contains the full tag (or hashvalue) for downloading + the manifest when the books are built. The list of target + directories are fetched from the manifest into the book. + The eltf_params_updates.xml can all the time contain + the final next complete tag e.g. refs/tags/EL6 or similar + in the ELTF_PL_CLONE_W_REPO parameter command lines. + +The ordinary book XML files use xi:include statements to include elements +from this parameter file. The book XML files can thus be manually edited. +Before editing, you must run "make init". +Any other text in the template or updated.xml file, outside the parts that +are included in the book, are not used but still all must be correct +DocBook XML files. + +ELTF work: + template => ELTF replaces ALL ELTF_xxx variables => updated XML file + => push to git only if changed + + +eltf_params_template.xml (in git) + File used by ELTF to autocreate/update the real parameter + file eltf_params_updated.xml. + +eltf_params_updated.xml (in git) + Real parameter file where ELTF has replaced all ELTF_xx variables with + strings, in several cases with multiline strings. + No spaces or linefeed allowed in beginning or end of the variable values! + + +xi:include: Each parameter is xi:include'ed in various book files, using + the IDs existing in the parameter files. + In most cases the 1:st element inside an element with an ID is included + using a format like eltf-prereq-apt-get-commands-host/1. + In very few cases the element with the ID is included in the book, one + example is the target section which has an ID, but which contains + multiple subsections, one per target. + All IDs in a book must be unique. + +DocBook XML: All XML files must be correct DocBook XML files. + +Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes + not done by ELTF. But it is OK to open the real file in XMLmind to + check that the format is correct. + +ELTF should autocreate a temporary "real" file but only replace + and push the eltf_params_updated.xml if it is changed. + + +make eltf + This lists all ELTF_xxx variables and some rules how to treat them + +DocBook Format: All elements - rules: + Several strict generic XML rules apply for all strings: + 1. No TABs allowed or any other control chr than "linefeed" + 2. Only 7-bit ASCII + 3. Any < > & must be converted to < > and & + Similar for any other non-7-bit-ASCII but avoid those! + 4. No leading spaces or linefeeds when replacing the ELTF_* variable + 5. No trailing spaces or linefeeds when replacing the ELTF_* variable + 6. Note: Keep existing spaces before/efter ELTF_* in a few cases. + +DocBook Format: - rules: ELTF*PL* variables + Several strict rules apply for the multiline string in programlisting + in addition to the general XML rules above: + 7. Max line length < 80 char + 8. Use backslash (\) to break longer lines + 9. Use spaces (e.g. 4) to indent continuation lines in programlistings + 10. No trailing spaces on any line + 11. No spaces or linefeed immediately after leading + 12. No spaces or linefeed before trailing + +DocBook Format: - rules: ELTF_*URL* variables + 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings + 14. Only if the URL is extremely long, the TXTURL can be a separate string + +Each target has one section with target parameters: +
+ MACHINE ELTF_T_MANIFEST_DIR - Information + ..... with many ELTF_ variables .... +
+ + 15. If there is only one target. ELTF just replaces ELTF parameters + + 16. It there are multiple targets. ELTF copies the section and appends the + section the required number of times. + Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR + Each section title will become unique + +Tables with target parameters in each target section: + 17. It is possible for ELTF to append more rows with one parameter each + to these tables, because the entire tables are included in the book + +Special - NOT YET READY DEFINED how to handle the optionally included + Eclipse and its version, but this is a first suggestion: + 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string + with both version number and name, + 19. MANUALLY if Eclipse is NOT included in the release, + the release manager should manually set condition="hidden" on + the entire section in the book XML about Eclipse + + + +BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf +if there are more new variables, missing in this description file. + +_____________________________________________________________________________ +ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands + like sudo apt-get install xxxx or similar. + First line = comment with the complete host name! + It is possible to include multiple hosts by just + adding an empty line, comment with host name, etc. + xi:include eltf-prereq-apt-get-commands-host/1 + This is a ... + Example: +# Host Ubuntu 14.04.5 LTS 64bit +sudo apt-get update +sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \ + texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ + make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ + libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ + libxml-parser-perl + +_____________________________________________________________________________ +ELTF_PL_GET_REPO Multiline commands to download the repo tool + xi:include eltf-getting-repo-install-command/1 + This is a ... + Example: +mkdir -p ~/bin +curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo +chmod a+x ~/bin/repo +export PATH=~/bin:$PATH + +_____________________________________________________________________________ +ELTF_EL_REL_VER General parameter string: The version of this Enea + Linux release. Major version and optional .Minor + Typically created from MAJOR and MINOR in enea.conf + MINOR in enea.conf is empty or contains a dot+minor + xi_include EneaLinux_REL_VER/1 + This is a X.x used in many places. + Examples: +6 + or +6.1 + +_____________________________________________________________________________ +ELTF_YOCTO_VER General parameter string: Yocto version, created + from DISTRO in poky.ent + xi:include Yocto_VER/1 + This is a X.x used in many places. + Example: +2.1 + +_____________________________________________________________________________ +ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created + from DISTRO_NAME_NO_CAP in poky.ent + xi:include Yocto_NAME/1 + This is a X.x used in many places. + Example: +krogoth + +_____________________________________________________________________________ +ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL +ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string + at the end, typically without "dot". + xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1 + This is an ... + Example: +http://www.yoctoproject.org/downloads/core/krogoth/21 + +_____________________________________________________________________________ +ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings +ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where + Enea Linux can be downloaded + Often containing same version as in ELTF_EL_REL_VER + xi:include ULINK_ENEA_LINUX_URL/1 + This is an ... + Example: +http://linux.enea.com/6 + +_____________________________________________________________________________ +ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything. + Use the variable $MACHINE/default.xml (the text in + the book will list the avaiable values of MACHINE, + taken from the manifest repository) + xi:include eltf-repo-cloning-enea-linux/1 + This is a ... + Example: +mkdir enea-linux +cd enea-linux +repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ + -b refs/tags/EL6 -m $MACHINE/default.xml +repo sync + +_____________________________________________________________________________ +ELTF_ECLIPSE_VERSION Optional general parameter string. + NOT YET READY DEFINED + Just now a release manage must manually set + condition="hidden" on the Eclipse section, + if Eclipse is not included in the release. + ELTF just replaces ELTF_ECLIPSE_VERSION with a full + string with "X.Y (name)" + It includes the ID and can only be ONCE in the book. + xi:include eltf-eclipse-version-row + Example. +4.5 (Mars) + + +_____________________________________________________________________________ +ELTF_T_* All these are in each target (MACHINE) and ELTF + must separately replace them with strings for + each target + NOTE: All (except the MANIFEST_DIR) are in rows + in a table and ELTF can select to append + more parameters by adding more rows + +_____________________________________________________________________________ +ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly +ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same + as the MACHINE names in $MACHINE/default.xml. + In book: a) Part of section ID + b) Part of section title + Examples: +p2041rgb + or +ls1021aiot + or +qemuarm + +_____________________________________________________________________________ +ELTF_T_NAME Target specific: "Target Official Name" + NOT same as the target directory name in most cases. + In book: An element in a row + Examples: +P2041RGB + or +LS1021a-IoT + or +qemuarm + +_____________________________________________________________________________ +ELTF_T_ARC_DESC Target specific: "Architecture and Description" + It can be a short identification string or + it can be a longer descriptive sentence. + In book: An element in a row + Examples: +Power, e500mc + or +ARM Cortex-A7 + +_____________________________________________________________________________ +ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These +ELTF_T_DS_URL two usually are IDENTICAL strings with correct + hyperlink to the target's official datasheet. + In book: an ... + Only if the link is VERY LONG, the text part shall + instead be a descriptive string (see 2:nd example). + NOTE: Also here no spaces or line-feeds! + Examples: +url="http://wiki.qemu.org">http://wiki.qemu.org +or +url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet + +_____________________________________________________________________________ +ELTF_T_POKY_VER Target specific: "Poky version" created either + from POKYVERSION in poky.ent + or using a hashvalue with a leading string, in + which case it may be different per target. + In book: An in a row + Examples: +15.0.0 +or +Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 + +_____________________________________________________________________________ +ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky + but not easy to find among various parameters. + ELTF would extract it from build logs building SDK + and it is possibly different per target. + In book: An in a row + Example: +5.3 + +_____________________________________________________________________________ +ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often + different per target. + In book: An in a row + Example: +3.12 + +_____________________________________________________________________________ +ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a + comma-separated list of driver names. + ELTF should create the list in same order for each + target, e.g. alphabetic migth be OK. + In book: An in a row + Example: +Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC + + +_____________________________________________________________________________ +ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading +ELTF_T_EL_RPM_URL RPM packages for this target". These two are + INDENTICAL strings with hyperlink to the web site + at Enea where the customer can download RPMs + Note: Often the ELFT_EL_REL_VER value and + the ELTF_T_MANIFEST_DIR are used in the link. + In book: an ... + Example: +url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm + +_____________________________________________________________________________ diff --git a/doc/book-enea-nfv-access-release-info/doc/getting_enea_linux.xml b/doc/book-enea-nfv-access-release-info/doc/getting_enea_linux.xml new file mode 100644 index 0000000..075ade5 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/getting_enea_linux.xml @@ -0,0 +1,205 @@ + + + + Getting Enea Linux + + Enea Linux is available as both pre-built binary images and source + code. Both serve a specific purpose and each have their advantages. However, + using the pre-built binary images allows for getting up and running faster. + Please refer to the sections below for details on how to get Enea Linux as + pre-built binary images or source code. + +
+ Getting Pre-built Binaries + + Enea Linux pre-built binaries are available for download on Enea + Download Portal. Log in using the credentials provided. Using the + menu, browse to the Linux section. You + will now have access to the Files section + and the Online Documentation + section. + + The Files section lists each Enea Linux distribution, one for each + version and profile, as a separate download package. Clicking on the name + of the distribution will open a new page, which presents further details + about the content of the release and a list of downloadable archives, one + for each hardware target included in the release. Each archive provides + the following content: + + + + images directory – this directory + includes the binary image files needed to boot the target with Enea + Linux. This includes the kernel, the root file system, device tree, + etc. + + + + sdk directory – this directory + includes the installer for the SDK. + + + + rpm directory – this directory + contains all the packages included in the distribution in rpm format, + which can be installed using the package manager. + + + + For faster downloads, each archive is mirrored in several places, + geographically. Choose the archive in the region closest to you. + + The Documentation section lists all the documents delivered with the + release: + + + + Enea Linux Platform Developer’s + Guide -intended for Enea Linux platform developers, who + want to configure and build customized Linux kernel images for + embedded system targets, using the Yocto configuration and build + system. + + + + Enea Linux Application Developer's + Guide - dedicated to Enea Linux application developers, who + want to build and run applications. + + + + Enea Linux Virtualization Guide + - provides further information meant to get the most out of the + virtualization features. + + + + Enea Linux Open Source Report - + contains the open source and license information pertaining to + packages provided with this release of Enea Linux. + + + + Enea Linux Eclipse Open Source + Report - contains the open source and license information + pertaining to the Eclipse package provided with this release of Enea + Linux. + + + + Enea Linux Release Info - + provides information about the current released distribution for a + selected set of targets, along with installation requirements and + procedures. + + +
+ +
+ Getting the Sources + + Enea Linux sources are available for cloning from a set of Git + repositories on git.enea.com. + Since Enea Linux requires multiple repositories, Google Repo tool is used + in order to manage configurations and make the cloning step simpler. + Google Repo tool uses files, known as manifests, which store a list of + tuples (repository URL, version). The Repo tool is then used to traverse + the list of tuples in the manifest file and clone the specified versions + of each repository. See https://code.google.com/p/git-repo/ + for more info. + +
+ Get access to git.enea.com + + In order to get access to git.enea.com, a ssh key is required for + Git authentication. If you don't already have such a key, follow the + steps below to generate one: + + + + Generate the ssh key pair: + + $ ssh-keygen -t rsa + + When asked for a password, just press Enter. This will create + two files in the .ssh directory in your home directory. + + id_rsa +id_rsa.pub + + + + Copy the public key into an authorized_keys file: + + $ cat id_rsa.pub >> authorized_keys + + + + Once these steps are done and you have a valid ssh key pair, send + the public key, id_rsa.pub, via email to + mailto:git_support@list.enea.se in order to get access to + git.enea.com. +
+ +
+ Get Sources + + To use the Repo tool to download the sources for Enea Linux, do + the following: + + + + Make sure that the repo tool is installed. If not, do the + following: Below is include of ID + "eltf-getting-repo-install-command" from + eltf_params_updated.xml + + + + + + Define the MACHINE from one of the targets listed + here,Below is the "machine_list" programlisting in + machine_list_generated.xml created by the make system by extracting + from the manifest + + + + + + Then use the repo command below: Below is include of + ID "eltf-repo-cloning-enea-linux" from eltf_params_updated.xml. Here + the $MACHINE shall be given! + + + + + + Once the source code is downloaded, the current directory will + contain a README file with instructions on how to build the distro and + boot the machine you choose. For ease of use, these instructions are + also copied into this document, see . + + It's not necessary to explicitly clone the manifest repository + since that is done automatically by the repo tool. To see the current + manifest, use the following command: + + $ repo manifest + + The UG should be updated with instructions on how to add + customizations. That section should also contain more info about the + manifest: the manifest templates, using a branch instead of the tag EL6, + etc. When this is done a reference from here should be added. +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/doc/jiraissues_override.xml b/doc/book-enea-nfv-access-release-info/doc/jiraissues_override.xml new file mode 100644 index 0000000..7282d0f --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/jiraissues_override.xml @@ -0,0 +1,36 @@ + + +
+ Release-Specific Problems + + + + + + + + + + Summary + + Enea Ref + + + + + + Eclipse Plug-Ins for Perf and Latencytop are not functioning properly on P2041RDB target. + + LXCR-6936 + + + + LTTng kernel tracing from Eclipse does not work due to RSE connectivity problems.As a workaround, traces can be collected on target and visualized on Eclipse, after copying the files on the host system. + + LXCR-7166 + + + + +
diff --git a/doc/book-enea-nfv-access-release-info/doc/known_bugs_and_limitations.xml b/doc/book-enea-nfv-access-release-info/doc/known_bugs_and_limitations.xml new file mode 100644 index 0000000..173046b --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/known_bugs_and_limitations.xml @@ -0,0 +1,267 @@ + + + + Known Problems in This Release + + The open source projects are continuously working on correcting + reported problems. Corrections to bugs detected by Enea are submitted + upstream, and the corrections are included in Enea Linux regardless of when + they will be included by the open source project. Remaining issues are + listed below.INFO: The Release-Specific + Problems section further down is generated from JIRA with + gen_known_issues.py, but that script is HARDCODED with affectedversion "Enea + Linux 6" and needs to be adapted when a release info for another EL version + changes. + +
+ Yocto + + The Yocto Project community uses a Bugzilla database to track + information on reported bugs and other issues: + https://bugzilla.yoctoproject.org. +
+ +
+ Toolchain / SDK + + + + Building the kernel might fail if GNU Make of version 3.82 has + been installed on the host. The mandatory recovery action is to revert + to version 3.81.INFO It is possible to hide this entire + subsection by setting condition hidden on the section + element + + + + Installing a second toolchain in the same directory as a + previous one will break the $PATH variable of the first + one.LXCR-3624 + + +
+ +
+ Smart Package Manager + + Installation of some packages might currently fail when installing + using the Smart Package Manager. An example is the qemu package. Errors + can e.g. be reported by smart about conflicts with files from other + packages.INFO It is possible to hide this setting condition hidden + on the section element + + The recommended solution to this problem is to install the failing + package using rpm, already available in enea-image-base. In order to + install it using rpm, first install rpm using the command smart + install rpm, then download the package to the target, and + finally on the target use rpm -i + <packagename>.rpm. If not installed, several dependencies + can be reported as "Failed dependencies" with lines "x is needed by y". In + that case, install the required packages "x" found by dependencies by + using the smart package manager. Add a channel to an accessible directory + containing all missing rpm packages. Add packages detected to be missing, + until all dependencies are resolved.FIXME It would be nice to add + also a PowerPC example with qemu failing, the example below is for + ARM. + +
+ Example with Failing QEMU Package + + As an example, the qemu installation can show the following + error.INFO It is possible to hide this setting condition hidden + on the section element + + + The example below is for ARM, including the RPM names. For + PowerPC similar errors can occur and other packages are needed. + + + error: file /var/run from install of + qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 conflicts with file from package + base-files-3.0.14-r89.0.hierofalcon + + A solution to this problem is to install the above qemu package + using rpm, already available in enea-image-base. In order to install it + using rpm, first install rpm using the command smart install + rpm, then download the above package from + <build_dir>/tmp/deploy/rpm/aarch64. On target, use rpm -i + qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64.rpm. If not installed, + several dependencies can be seen, e.g.: + + error: Failed dependencies: + libpixman-1-0 >= 0.32.6 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + libpixman-1.so.0()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + libglib-2.0.so.0()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + libcap2 >= 2.22 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + libglib-2.0-0 >= 2.40.0 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + bluez4 >= 4.101 is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + libbluetooth.so.3()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + libcap.so.2()(64bit) is needed by qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64 + + Install the required packages found by dependencies by using the + smart package manager, as specified in the User's Guide, by adding a + channel to an accessible directory containing all of the above rpm + packages. Suggestion for installing required packages, as in the + following example for qemu and ARM: + + smart install bash + smart install libcap + smart install bluez4 + smart install libpixman-1-0 + rpm -i qemu-2.1.0+git0+541bbb07eb-r0.0.aarch64.rpm + + Add packages detected to be missing until all dependencies are + resolved. +
+
+ +
+ Target-Side Tools + + + + The perf report does not show + any output for the PandaBoard target.LXCR-2710 + + + + perf top displays for a few + seconds the error message Failed to open + /tmp/perf-388.map. Any attempt to exit the subsequent window + causes the system to hang.LXCR-3113 + + + + When running the perf top command on the i.MX + 6Quad SABRE Lite target, the console text may become red after running + for some time (~ 1 minute).LXCR-3631 + + + + The powertop --calibrate + command does not work on the Keystone k2hk-evm + target.LXCR-2660 + + + + The powertop command run with + --calibrate or --time arguments may show some warnings on + PowerPC targets. + + + + If you get an error message like Cannot load from file + /var/cache/powertop/saved_results.powertop when running + powertop, there is most likely not + enough measurement data collected yet. All you have to do is to keep + powertop running for a certain time.LXCR-2176, LXCR-2660, + LXCR-3106 + + + + The message Model-specific registers (MSR) not found + (try enabling CONFIG_X86_MSR) appears when you run powertop on non-x86 targets. powertop is mainly an x86n + tool, so it expects X*^_MSR config to be enabled in the kernel. For + non-x86 targets this config is not available in the kernel, hence, + powertop warns about it, but the message can be ignored on those + targets. LXCR-2176, LXCR-2660, LXCR-3106 + + + + powertop issues a message + sh: /usr/bin/xset: No such file or directory when + it tries to use xset to configure X display preferences but cannot + find the binary since the image by default contains no X system. The + message can simply be ignored.LXCR-2176 + + +
+ +
+ Virtualization + + + + virtualization: CONFIG_BRIDGE + is not included in the default p2020rdb + kernel.LXVTCR-273 + + + + lxc: + + + + User namespace is not available on PowerPC targets as it is + an experimental feature in the 3.8 kernel. + + + + If multiple Linux containers are started from the same + process and share resources, destroying the containers might + result in a race condition with error message "Error in + `./lxc-test-concurrent': double free or corruption (fasttop)" + followed by an application + crash."LXVTCR-365 + + + + + + libvirt: Default network does + not start.LXVTCR-240 + + +
+ +
+ Documentation + + + + PDF navigation: When using + links to open other PDFs, or jump to another place in the same PDF, + jumping back sometimes fails. This has been observed when opening a + PDF in Adobe Reader, inside a browser with PDF add-on, as well as when + the browser is configured to open PDF files in an external PDF reader. + As a workaround, open the HTML version of the + document.LXCR-3283 + + + + Internet Explorer (IE) cannot display some + web pages: It is recommended to use Firefox or another + non-IE browser for opening external links. If you prefer reading the + documentation in PDF format in Adobe Reader (not in an Adobe plug-in + in a browser), remember to configure a non-IE browser as default + browser to be able to follow all links from within Adobe Reader. + Example of a link that does not work in IE: https://rt.wiki.kernel.org/. + LXCR-3281 + + +
+ +
+ Miscellaneous + + + + menuconfig requires Ncurses. If the terminal that pops up + immediately closes instead of showing the menuconfig interface, check + that the Ncurses development library is installed. + + +
+ + + + +
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/doc/main_changes.xml b/doc/book-enea-nfv-access-release-info/doc/main_changes.xml new file mode 100644 index 0000000..115acb5 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/main_changes.xml @@ -0,0 +1,53 @@ + + + + Main Changes + + N/A. + + This is the first release of Enea Linux, Networking profile. + +
+ New Functionality/Enhancements + + Based in the Jira query: 'project = CPDX and fixVersion = "Enea + Linux 6"' + + + + New Yocto version (). See https://www.yoctoproject.org/downloads/core/krogoth21. + + + + Introduction of the repo tool to manage the Git + repositories. + + + + For details, see the Git logs for the repositories specified in the + manifest files. See for more inf + on repos and the manifest. +
+ +
+ Problems Fixed in this Release + + TBD FIXME or set condition hidden +
+ +
+ Added Drivers + + TBD FIXME or set condition hidden +
+ + +
diff --git a/doc/book-enea-nfv-access-release-info/doc/prerequisites.xml b/doc/book-enea-nfv-access-release-info/doc/prerequisites.xml new file mode 100644 index 0000000..9c5aa95 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/prerequisites.xml @@ -0,0 +1,34 @@ + + + + Prerequisites + + Building Enea Linux or compiling applications requires that your git + environment be setup properly and for certain packages to be installed on + your Linux development host. + + Please refer to Getting + Started - First-Time Git Setup, for more details on how to set up + your git environment correctly, including how to set your identity using the + following commands: + + $ git config --global user.name "John Doe" +$ git config --global user.email johndoe@example.com + + First ensure the system is up-to-date, then for the supported + distribution(s), you need the following packages:INFO: The + programlisting below is a parameters in eltf_params_updated.xml with ID: + "eltf-prereq-apt-get-command-host". If multiple hosts are supported, store + the commands for each host in the same programlisting with empty lines + between each - the comment with the FULL HOST name and version is + essential. + + + + + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/doc/system_requirements.xml b/doc/book-enea-nfv-access-release-info/doc/system_requirements.xml new file mode 100644 index 0000000..e94d012 --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/doc/system_requirements.xml @@ -0,0 +1,162 @@ + + +
+ System Requirements + + The host requirements listed below are extensive to allow for the + building of Linux images via the Yocto system and not just + applications. + + Please also see the system requirements in the Yocto 2.1 documents: + Yocto Project Start + http://www.yoctoproject.org/docs/2.1/yocto-project-qs/yocto-project-qs.html#yp-resources + and the Yocto Project Reference Manual + http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#intro-requirements. + If needed, replace the Yocto version in the link(s) provided with a more + recent version. + + + + + + + + + + + + Build host + requirements + system requirements + + + + + Linux distribution + + The downloaded code shall be built on a Linux host to + generate images for your target or for emulation in QEMU. For + information about the supported hosts and targets, see the Enea Linux Release Information in your Enea + Linux distribution. + + + + Internet access + + Internet access must be available when building an image, + since bitbake downloads source files from various servers during the + build. + + + + Packages + + Depending on the Linux distribution and version on host, some + packages may be required, by bitbake for example. You will install + any required packages while following the installation + instructions. + + + + Targets + + Images can be built or downloaded for any of the targets + supported in this release, as specified in the Enea Linux Release Information. + + + + Disk space + + Your system should have at least 50 GB of free disk + space when bitbaking the basic enea-image-name kernel image. + For larger images and to allow for future package extensions + and variations in the build process, a minimum of 100 GB free disk + space is recommended. + + + + Recommended RAM + + Your system must have at least 4 GB available + RAM. It is recommended to have 8 GB RAM available for + parallel build jobs. + + + + Java + + Java + java + is required to run Eclipse. Currenly, Eclipse + generally recommends at least Java 6 JRE/JDK. More information + regarding operating environments for Eclipse, is provided in the + Eclipse Project Release Notes for the version + used. This can usually be found via + http://www.eclipse.org/eclipse/development/readme_eclipse_version. + See the Enea Linux Release Information + for the Eclipse Version. + + + + + + The build time depends on the capacity of the processor and other + hardware, available resources, speed of internet connection, load situation, + etc. E.g: on a fast 16 core machine with 16 GB RAM and SSD disks, a complete + build from source could take about two hours. + + + + + + + + + + + + Target + Requirements + + + + External memory + + To boot a CGL + CGL + image, you need at least 16 GB on a hard-disk + drive + HDD + on eSATA, USB drive, or SD card.INFO: (packed + rootfs 4.5 GB + unpacked rootfs 1.5 GB + good + margins)INFO: NFS does not support SELinux. In + order to have a security-enhanced Linux, one must take off from an + NFS-booted system and proceed with boot from external + memory. + + + + + +
+ System Shell Configuration + + Before installing Enea Linux, ensure that bash is the default + shell. + + If your system runs Ubuntu, you can use ls -l to ensure + /usr/bin is a symbolic link to bash. In case the link + points to dash, which is default in some Ubuntu versions, change it to + bash by running sudo dpkg-reconfigure + dash and answer No to the + question "Use dash as the default system shell (/bin/sh)?": + + # ls -l /bin/sh + lrwxrwxrwx 1 root root 4 2012-03-02 11:53 /bin/sh -> bash +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-release-info/swcomp.mk b/doc/book-enea-nfv-access-release-info/swcomp.mk new file mode 100644 index 0000000..3ba7c8d --- /dev/null +++ b/doc/book-enea-nfv-access-release-info/swcomp.mk @@ -0,0 +1,10 @@ +# Component build specification + +# Version of THIS book +BOOK_VER ?= $(REL_VER)-dev + +DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) + +BOOKPACKAGES := book-enea-nfv-access-release-info +BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access $(PROD_VER) Release Information" +BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) diff --git a/doc/manifest_conf.mk b/doc/manifest_conf.mk index 92e395c..35d2e0c 100644 --- a/doc/manifest_conf.mk +++ b/doc/manifest_conf.mk @@ -5,4 +5,4 @@ #MANIFESTHASH ?= 0d0f06384afa65eaae4b170e234ee5a813edf44d #change the above value later to refs/tags/ELnnn (?) MANIFESTURL := git@git.enea.com:linux/manifests/el_manifests-virtualization.git -PROFILE_NAME := Enea NFV Access Platform +PROFILE_NAME := Enea NFV Access -- cgit v1.2.3-54-g00ecf