mirror of
https://github.com/Telecominfraproject/OpenNetworkLinux.git
synced 2026-01-09 16:51:30 +00:00
Merge pull request #67 from carlroth/master
Initial rollup of installer WIP
This commit is contained in:
@@ -305,7 +305,7 @@ do_cleanup()
|
||||
cat /var/log/onie.log > /dev/console
|
||||
installer_say "Install failed. See log messages above for details"
|
||||
|
||||
grep "$workdir" /proc/mounts | cut -d' ' -f2 | sort -r | xargs -n 1 umount
|
||||
grep "$workdir" /proc/mounts | cut -d' ' -f2 | sort -r | xargs -r -n 1 umount
|
||||
cd /tmp
|
||||
rm -fr "$workdir"
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ ifndef ONL
|
||||
$(error $$ONL is not defined)
|
||||
endif
|
||||
|
||||
ifndef ONLPM_PY
|
||||
ifndef ONLPM
|
||||
ONLPM := $(ONL)/tools/onlpm.py
|
||||
endif
|
||||
|
||||
@@ -26,16 +26,41 @@ export ONL_DEBIAN_SUITE_$(ONL_DEBIAN_SUITE)=1
|
||||
|
||||
export BUILD_DIR_BASE=BUILD/$(ONL_DEBIAN_SUITE)
|
||||
|
||||
|
||||
# Generate manifest if necessary
|
||||
export MODULEMANIFEST := $(shell $(BUILDER)/tools/mmg.py --dirs $(ONL) $(ONLPM_OPTION_PACKAGEDIRS) --out $(ONL)/make/module-manifest.mk --only-if-missing make)
|
||||
|
||||
#
|
||||
# Default make options.
|
||||
#
|
||||
ONL_MAKE_FLAGS += --no-print-directory -s
|
||||
ONL_MAKE := $(MAKE) $(ONL_MAKE_FLAGS)
|
||||
ifeq ("$(origin V)", "command line")
|
||||
VERBOSE := $(V)
|
||||
endif
|
||||
|
||||
ifneq ($(VERBOSE),1)
|
||||
|
||||
# quiet settings
|
||||
ONL_V_P := false
|
||||
ONL_V_at := @
|
||||
ONL_V_GEN = @set -e; echo GEN $@;
|
||||
|
||||
else
|
||||
|
||||
# verbose settings
|
||||
ONL_V_P := :
|
||||
|
||||
endif
|
||||
|
||||
ifneq ($(VERBOSE),1)
|
||||
|
||||
ONL_MAKE_FLAGS += --no-print-directory -s
|
||||
|
||||
else
|
||||
|
||||
ONL_MAKE_FLAGS += V=1
|
||||
|
||||
endif
|
||||
|
||||
ONL_MAKE := $(MAKE) $(ONL_MAKE_FLAGS)
|
||||
|
||||
#
|
||||
# Some build and autogen tools require these settings.
|
||||
|
||||
25
make/pkg.mk
25
make/pkg.mk
@@ -17,41 +17,50 @@ ifndef ARCHES
|
||||
ARCHES := amd64 powerpc armel all
|
||||
endif
|
||||
|
||||
ONLPM_ENVIRONMENT = \
|
||||
MAKE=$(MAKE) \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
ifneq ($(VERBOSE),1)
|
||||
else
|
||||
ONLPM_ENVIRONMENT += ONLPM_VERBOSE=1
|
||||
endif
|
||||
|
||||
pkgall:
|
||||
$(ONL_V_at) MAKE=$(MAKE) onlpm.py --build all --arches $(ARCHES)
|
||||
$(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --build all --arches $(ARCHES)
|
||||
|
||||
|
||||
clean:
|
||||
$(ONL_V_at) MAKE=$(MAKE) onlpm.py --clean all --arches $(ARCHES)
|
||||
$(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --clean all --arches $(ARCHES)
|
||||
|
||||
rebuild:
|
||||
$(ONL_V_at) MAKE=$(MAKE) onlpm.py --rebuild-pkg-cache
|
||||
$(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --rebuild-pkg-cache
|
||||
|
||||
#
|
||||
# Check all package declarations.
|
||||
#
|
||||
check:
|
||||
$(ONL_V_at) MAKE=$(MAKE) onlpm.py --packagedirs=`pwd` --no-pkg-cache
|
||||
$(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --packagedirs=`pwd` --no-pkg-cache
|
||||
|
||||
subdir:
|
||||
$(ONL_V_at) MAKE=$(MAKE) onlpm.py --packagedirs=`pwd` --build all --no-pkg-cache
|
||||
$(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --packagedirs=`pwd` --build all --no-pkg-cache
|
||||
|
||||
|
||||
#
|
||||
# Package construction only (no build step)
|
||||
#
|
||||
pkg:
|
||||
$(ONL_V_at) MAKE=$(MAKE) NOBUILD=1 onlpm.py --build all --arches $(ARCHES)
|
||||
$(ONL_V_GEN) $(ONLPM_ENVIRONMENT) NOBUILD=1 $(ONLPM) $(ONLPM_OPTS) --build all --arches $(ARCHES)
|
||||
|
||||
|
||||
|
||||
#
|
||||
# Generate a rule for all available packages
|
||||
#
|
||||
ALL_PACKAGES := $(shell onlpm.py --list-all)
|
||||
ALL_PACKAGES := $(shell $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --list-all)
|
||||
define package_build_template
|
||||
package-$(1):
|
||||
$(ONL_V_at) onlpm.py --build $(2)
|
||||
$(ONL_V_GEN) $(ONLPM_ENVIRONMENT) $(ONLPM) $(ONLPM_OPTS) --build $(2)
|
||||
|
||||
endef
|
||||
$(foreach p,$(ALL_PACKAGES),$(eval $(call package_build_template,$(subst :,_,$(p)),$(p))))
|
||||
|
||||
@@ -28,18 +28,53 @@ clean:
|
||||
rm -rf $(BUILDROOT_ARCHDIRS)
|
||||
|
||||
|
||||
setup:
|
||||
setup: setup-pyroute2 setup-dnspython setup-libyaml setup-pyyaml setup-jq setup-pyparted
|
||||
cp $(wildcard patches/busybox*.patch) $(BUILDROOT_SOURCE)/package/busybox/
|
||||
cp $(wildcard patches/kexec*.patch) $(BUILDROOT_SOURCE)/package/kexec/
|
||||
sed -i 's%^DOSFSTOOLS_SITE =.*%DOSFSTOOLS_SITE = http://downloads.openwrt.org/sources%' $(BUILDROOT_SOURCE)/package/dosfstools/dosfstools.mk
|
||||
sed -i 's%^UEMACS_SITE =.*%UEMACS_SITE = http://www.kernel.org/pub/linux/kernel/uemacs%;s%^UEMACS_SOURCE =.*%UEMACS_SOURCE = em-$$(UEMACS_VERSION).tar.gz%' $(BUILDROOT_SOURCE)/package/uemacs/uemacs.mk
|
||||
mkdir -p $(BUILDROOT_ARCHDIRS)
|
||||
$(foreach a,$(ARCHS),cp buildroot.config-$(a) buildroot-$(a)/.config ;)
|
||||
|
||||
setup-jq:
|
||||
mkdir -p $(BUILDROOT_SOURCE)/package/jq
|
||||
cp patches/jq.mk $(BUILDROOT_SOURCE)/package/jq/jq.mk
|
||||
cp patches/jq.Config.in $(BUILDROOT_SOURCE)/package/jq/Config.in
|
||||
sed -i '/[/]jq[/]/d' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
sed -i '/[/]yajl[/]/a\source "package/jq/Config.in"' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
mkdir -p $(BUILDROOT_ARCHDIRS)
|
||||
$(foreach a,$(ARCHS),cp buildroot.config-$(a) buildroot-$(a)/.config ;)
|
||||
|
||||
setup-pyroute2:
|
||||
mkdir -p $(BUILDROOT_SOURCE)/package/python-pyroute2
|
||||
cp patches/python-pyroute2.mk $(BUILDROOT_SOURCE)/package/python-pyroute2/python-pyroute2.mk
|
||||
cp patches/python-pyroute2.Config.in $(BUILDROOT_SOURCE)/package/python-pyroute2/Config.in
|
||||
sed -i '/[/]python-pyroute2[/]/d' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
sed -i '/[/]python-setuptools[/]/a\source "package/python-pyroute2/Config.in"' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
|
||||
setup-dnspython:
|
||||
mkdir -p $(BUILDROOT_SOURCE)/package/python-dnspython
|
||||
cp patches/python-dnspython.mk $(BUILDROOT_SOURCE)/package/python-dnspython/python-dnspython.mk
|
||||
cp patches/python-dnspython.Config.in $(BUILDROOT_SOURCE)/package/python-dnspython/Config.in
|
||||
sed -i '/[/]python-dnspython[/]/d' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
sed -i '/[/]python-setuptools[/]/a\source "package/python-dnspython/Config.in"' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
|
||||
setup-pyyaml:
|
||||
mkdir -p $(BUILDROOT_SOURCE)/package/python-yaml
|
||||
cp patches/python-yaml.mk $(BUILDROOT_SOURCE)/package/python-yaml/python-yaml.mk
|
||||
cp patches/python-yaml.Config.in $(BUILDROOT_SOURCE)/package/python-yaml/Config.in
|
||||
sed -i '/[/]python-yaml[/]/d' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
sed -i '/[/]python-setuptools[/]/a\source "package/python-yaml/Config.in"' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
|
||||
setup-libyaml:
|
||||
sed -i.bak -e '/LIBYAML_INSTALL_TARGET/d' $(BUILDROOT_SOURCE)/package/libyaml/libyaml.mk
|
||||
sed -i.bak -e '/LIBYAML_VERSION/a\LIBYAML_INSTALL_TARGET = YES' $(BUILDROOT_SOURCE)/package/libyaml/libyaml.mk
|
||||
|
||||
setup-pyparted:
|
||||
mkdir -p $(BUILDROOT_SOURCE)/package/python-pyparted
|
||||
cp patches/python-pyparted.mk $(BUILDROOT_SOURCE)/package/python-pyparted/python-pyparted.mk
|
||||
cp patches/python-pyparted.Config.in $(BUILDROOT_SOURCE)/package/python-pyparted/Config.in
|
||||
cp patches/pyparted*.tar.bz2 $(BUILDROOT_SOURCE)/dl/.
|
||||
sed -i '/[/]python-pyparted[/]/d' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
sed -i '/[/]python-setuptools[/]/a\source "package/python-pyparted/Config.in"' $(BUILDROOT_SOURCE)/package/Config.in
|
||||
|
||||
|
||||
define buildroot_arch
|
||||
|
||||
@@ -611,7 +611,7 @@ BR2_PACKAGE_PYTHON_BZIP2=y
|
||||
# BR2_PACKAGE_PYTHON_CURSES is not set
|
||||
# BR2_PACKAGE_PYTHON_PYEXPAT is not set
|
||||
BR2_PACKAGE_PYTHON_READLINE=y
|
||||
# BR2_PACKAGE_PYTHON_SSL is not set
|
||||
BR2_PACKAGE_PYTHON_SSL=y
|
||||
# BR2_PACKAGE_PYTHON_UNICODEDATA is not set
|
||||
# BR2_PACKAGE_PYTHON_SQLITE is not set
|
||||
BR2_PACKAGE_PYTHON_ZLIB=y
|
||||
@@ -632,6 +632,10 @@ BR2_PACKAGE_PYTHON_ZLIB=y
|
||||
# BR2_PACKAGE_PYTHON_PYPARSING is not set
|
||||
# BR2_PACKAGE_PYTHON_SERIAL is not set
|
||||
# BR2_PACKAGE_PYTHON_SETUPTOOLS is not set
|
||||
BR2_PACKAGE_PYTHON_DNSPYTHON=y
|
||||
BR2_PACKAGE_PYTHON_PYROUTE2=y
|
||||
BR2_PACKAGE_PYTHON_YAML=y
|
||||
BR2_PACKAGE_PYTHON_PYPARTED=y
|
||||
# BR2_PACKAGE_RUBY is not set
|
||||
# BR2_PACKAGE_TCL is not set
|
||||
|
||||
@@ -971,7 +975,7 @@ BR2_PACKAGE_READLINE=y
|
||||
# BR2_PACKAGE_LIBROXML is not set
|
||||
# BR2_PACKAGE_LIBXML2 is not set
|
||||
# BR2_PACKAGE_LIBXSLT is not set
|
||||
# BR2_PACKAGE_LIBYAML is not set
|
||||
BR2_PACKAGE_LIBYAML=y
|
||||
# BR2_PACKAGE_MXML is not set
|
||||
|
||||
#
|
||||
|
||||
@@ -586,7 +586,7 @@ BR2_PACKAGE_PYTHON_BZIP2=y
|
||||
# BR2_PACKAGE_PYTHON_CURSES is not set
|
||||
# BR2_PACKAGE_PYTHON_PYEXPAT is not set
|
||||
BR2_PACKAGE_PYTHON_READLINE=y
|
||||
# BR2_PACKAGE_PYTHON_SSL is not set
|
||||
BR2_PACKAGE_PYTHON_SSL=y
|
||||
# BR2_PACKAGE_PYTHON_UNICODEDATA is not set
|
||||
# BR2_PACKAGE_PYTHON_SQLITE is not set
|
||||
BR2_PACKAGE_PYTHON_ZLIB=y
|
||||
@@ -607,6 +607,10 @@ BR2_PACKAGE_PYTHON_ZLIB=y
|
||||
# BR2_PACKAGE_PYTHON_PYPARSING is not set
|
||||
# BR2_PACKAGE_PYTHON_SERIAL is not set
|
||||
# BR2_PACKAGE_PYTHON_SETUPTOOLS is not set
|
||||
BR2_PACKAGE_PYTHON_DNSPYTHON=y
|
||||
BR2_PACKAGE_PYTHON_PYROUTE2=y
|
||||
BR2_PACKAGE_PYTHON_YAML=y
|
||||
BR2_PACKAGE_PYTHON_PYPARTED=y
|
||||
# BR2_PACKAGE_RUBY is not set
|
||||
# BR2_PACKAGE_TCL is not set
|
||||
|
||||
@@ -947,7 +951,7 @@ BR2_PACKAGE_READLINE=y
|
||||
# BR2_PACKAGE_LIBROXML is not set
|
||||
# BR2_PACKAGE_LIBXML2 is not set
|
||||
# BR2_PACKAGE_LIBXSLT is not set
|
||||
# BR2_PACKAGE_LIBYAML is not set
|
||||
BR2_PACKAGE_LIBYAML=y
|
||||
# BR2_PACKAGE_MXML is not set
|
||||
|
||||
#
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
config BR2_PACKAGE_PYTHON_DNSPYTHON
|
||||
bool "python-dnspython"
|
||||
depends on BR2_PACKAGE_PYTHON
|
||||
help
|
||||
Include the 'dnspython' Python library
|
||||
@@ -0,0 +1,25 @@
|
||||
######################################################################
|
||||
##
|
||||
## dnspython.mk
|
||||
##
|
||||
######################################################################
|
||||
|
||||
PYTHON_DNSPYTHON_VERSION = 1.12.0
|
||||
PYTHON_DNSPYTHON_SOURCE = dnspython-$(PYTHON_DNSPYTHON_VERSION).tar.gz
|
||||
PYTHON_DNSPYTHON_SITE = http://www.dnspython.org/kits/1.12.0/
|
||||
PYTHON_DNSPYTHON_INSTALL_STAGING = NO
|
||||
PYTHON_DNSPYTHON_INSTALL_TARGET = YES
|
||||
PYTHON_DNSPYTHON_LICENSE = BSD-style
|
||||
PYTHON_DNSPYTHON_LICENSE_FILES = LICENSE
|
||||
|
||||
PYTHON_DNSPYTHON_DEPENDENCIES = python
|
||||
|
||||
define PYTHON_DNSPYTHON_BUILD_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
|
||||
endef
|
||||
|
||||
define PYTHON_DNSPYTHON_INSTALL_TARGET_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_PYBLKID
|
||||
bool "python-pyblkid"
|
||||
depends on BR2_PACKAGE_PYTHON
|
||||
depends on BR2_PACKAGE_UTIL_LINUX
|
||||
help
|
||||
Include the 'pyblkid' Python library
|
||||
@@ -0,0 +1,41 @@
|
||||
######################################################################
|
||||
##
|
||||
## python-pyblkid.mk
|
||||
##
|
||||
######################################################################
|
||||
|
||||
PYTHON_PYBLKID_VERSION = 0.0.1
|
||||
PYTHON_PYBLKID_SOURCE = pyblkid-$(PYTHON_PYBLKID_VERSION).tar.bz2
|
||||
PYTHON_PYBLKID_INSTALL_STAGING = NO
|
||||
PYTHON_PYBLKID_INSTALL_TARGET = YES
|
||||
PYTHON_PYBLKID_LICENSE = GPL
|
||||
PYTHON_PYBLKID_LICENSE_FILES = COPYING
|
||||
|
||||
PYTHON_PYBLKID_DEPENDENCIES = python util-linux
|
||||
|
||||
PYTHON_PYBLKID_INCLUDES = \
|
||||
--include-dirs $(STAGING_DIR)/usr/include:$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
PYTHON_PYBLKID_LIBDIRS = \
|
||||
--library-dirs $(STAGING_DIR)/usr/lib \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
# see python-mad.mk
|
||||
PYTHON_PYBLKID_ENVIRONMENT = \
|
||||
CC="$(TARGET_CC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
LDSHARED="$(TARGET_CC) -shared" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
define PYTHON_PYBLKID_BUILD_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build_py)
|
||||
(cd $(@D); $(PYTHON_PYBLKID_ENVIRONMENT) $(HOST_DIR)/usr/bin/python setup.py build_ext $(PYTHON_PYBLKID_INCLUDES) $(PYTHON_PYBLKID_LIBDIRS))
|
||||
endef
|
||||
|
||||
define PYTHON_PYBLKID_INSTALL_TARGET_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr --install-scripts=$(TARGET_DIR)/usr/bin)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_PYTHON_PYPARTED
|
||||
bool "python-pyparted"
|
||||
depends on BR2_PACKAGE_PYTHON
|
||||
depends on BR2_PACKAGE_PARTED
|
||||
help
|
||||
Include the 'pyparted' Python library
|
||||
@@ -0,0 +1,42 @@
|
||||
######################################################################
|
||||
##
|
||||
## python-pyparted.mk
|
||||
##
|
||||
######################################################################
|
||||
|
||||
PYTHON_PYPARTED_VERSION = 3.10.7
|
||||
PYTHON_PYPARTED_SOURCE = pyparted-$(PYTHON_PYPARTED_VERSION).tar.bz2
|
||||
##PYTHON_PYPARTED_SITE = http://pyyaml.org/download/pyyaml/
|
||||
PYTHON_PYPARTED_INSTALL_STAGING = NO
|
||||
PYTHON_PYPARTED_INSTALL_TARGET = YES
|
||||
PYTHON_PYPARTED_LICENSE = GPL
|
||||
PYTHON_PYPARTED_LICENSE_FILES = COPYING
|
||||
|
||||
PYTHON_PYPARTED_DEPENDENCIES = python parted
|
||||
|
||||
PYTHON_PYPARTED_INCLUDES = \
|
||||
--include-dirs $(STAGING_DIR)/usr/include:$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
PYTHON_PYPARTED_LIBDIRS = \
|
||||
--library-dirs $(STAGING_DIR)/usr/lib \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
# see python-mad.mk
|
||||
PYTHON_PYPARTED_ENVIRONMENT = \
|
||||
CC="$(TARGET_CC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
LDSHARED="$(TARGET_CC) -shared" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
define PYTHON_PYPARTED_BUILD_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build_py)
|
||||
(cd $(@D); $(PYTHON_PYPARTED_ENVIRONMENT) $(HOST_DIR)/usr/bin/python setup.py build_ext $(PYTHON_PYPARTED_INCLUDES) $(PYTHON_PYPARTED_LIBDIRS))
|
||||
endef
|
||||
|
||||
define PYTHON_PYPARTED_INSTALL_TARGET_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,5 @@
|
||||
config BR2_PACKAGE_PYTHON_PYROUTE2
|
||||
bool "python-pyroute2"
|
||||
depends on BR2_PACKAGE_PYTHON
|
||||
help
|
||||
Include the 'pyroute2' Python library
|
||||
@@ -0,0 +1,29 @@
|
||||
######################################################################
|
||||
##
|
||||
## pyroute2.mk
|
||||
##
|
||||
######################################################################
|
||||
|
||||
PYTHON_PYROUTE2_VERSION = 0.3.14
|
||||
PYTHON_PYROUTE2_SOURCE = pyroute2-$(PYTHON_PYROUTE2_VERSION).tar.gz
|
||||
PYTHON_PYROUTE2_SITE = https://pypi.python.org/packages/source/p/pyroute2/
|
||||
PYTHON_PYROUTE2_LICENSE = GPLv2+ and Apache v2
|
||||
PYTHON_PYROUTE2_LICENSE_FILES = \
|
||||
READEME.licence.md \
|
||||
LICENSE.GPL.v2 \
|
||||
LICENSE.Apache.v2 \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
PYTHON_PYROUTE2_INSTALL_STAGING = NO
|
||||
PYTHON_PYROUTE2_INSTALL_TARGET = YES
|
||||
|
||||
PYTHON_PYROUTE2_DEPENDENCIES = python
|
||||
|
||||
define PYTHON_PYROUTE2_BUILD_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build)
|
||||
endef
|
||||
|
||||
define PYTHON_PYROUTE2_INSTALL_TARGET_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,5 @@
|
||||
config BR2_PACKAGE_PYTHON_YAML
|
||||
bool "python-yaml"
|
||||
depends on BR2_PACKAGE_PYTHON
|
||||
help
|
||||
Include the 'PyYAML' Python library
|
||||
@@ -0,0 +1,42 @@
|
||||
######################################################################
|
||||
##
|
||||
## python-yaml.mk
|
||||
##
|
||||
######################################################################
|
||||
|
||||
PYTHON_YAML_VERSION = 3.11
|
||||
PYTHON_YAML_SOURCE = PyYAML-$(PYTHON_YAML_VERSION).tar.gz
|
||||
PYTHON_YAML_SITE = http://pyyaml.org/download/pyyaml/
|
||||
PYTHON_YAML_INSTALL_STAGING = NO
|
||||
PYTHON_YAML_INSTALL_TARGET = YES
|
||||
PYTHON_YAML_LICENSE = MIT
|
||||
PYTHON_YAML_LICENSE_FILES = LICENSE
|
||||
|
||||
PYTHON_YAML_DEPENDENCIES = python libyaml
|
||||
|
||||
PYTHON_YAML_INCLUDES = \
|
||||
--include-dirs $(STAGING_DIR)/usr/include:$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR) \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
PYTHON_YAML_LIBDIRS = \
|
||||
--library-dirs $(STAGING_DIR)/usr/lib \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
# see python-mad.mk
|
||||
PYTHON_YAML_ENVIRONMENT = \
|
||||
CC="$(TARGET_CC)" \
|
||||
CFLAGS="$(TARGET_CFLAGS)" \
|
||||
LDSHARED="$(TARGET_CC) -shared" \
|
||||
LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
# THIS LINE INTENTIONALLY LEFT BLANK
|
||||
|
||||
define PYTHON_YAML_BUILD_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py build_py)
|
||||
(cd $(@D); $(PYTHON_YAML_ENVIRONMENT) $(HOST_DIR)/usr/bin/python setup.py build_ext $(PYTHON_YAML_INCLUDES) $(PYTHON_YAML_LIBDIRS))
|
||||
endef
|
||||
|
||||
define PYTHON_YAML_INSTALL_TARGET_CMDS
|
||||
(cd $(@D); $(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -1,29 +1,10 @@
|
||||
############################################################
|
||||
# <bsn.cl fy=2014 v=onl>
|
||||
#
|
||||
# Copyright 2014, 2015 Big Switch Networks, Inc.
|
||||
#
|
||||
# Licensed under the Eclipse 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.eclipse.org/legal/epl-v10.html
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# </bsn.cl>
|
||||
############################################################
|
||||
#
|
||||
#
|
||||
#
|
||||
############################################################
|
||||
include $(ONL)/make/config.mk
|
||||
|
||||
include ../../init.mk
|
||||
MODULE := x86_64_kvm_x86_64
|
||||
AUTOMODULE := x86_64_kvm_x86_64
|
||||
include $(BUILDER)/definemodule.mk
|
||||
|
||||
@@ -8,7 +8,7 @@ menuentry OpenNetworkLinux {
|
||||
echo 'Loading Open Network Linux ...'
|
||||
insmod gzio
|
||||
insmod part_msdos
|
||||
linux /kernel-3.2-deb7-x86_64-all nopat console=ttyS0,115200n8 onl_platform=x86-64-kvm-x86-64-r0
|
||||
linux /kernel-3.9.6-x86-64-all nopat console=ttyS0,115200n8 onl_platform=x86-64-kvm-x86-64-r0
|
||||
initrd /initrd-amd64
|
||||
}
|
||||
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
|
||||
platform_installer() {
|
||||
# Standard isntallation to an available GPT partition
|
||||
installer_standard_gpt_install /dev/sda
|
||||
installer_standard_gpt_install /dev/vda
|
||||
}
|
||||
|
||||
@@ -201,7 +201,7 @@ class OnlPackage(object):
|
||||
|
||||
if type(self.pkg[key]) != type_:
|
||||
raise OnlPackageError("key '%s' is the wrong type (%s should be %s)" % (
|
||||
key, type(pkg[key]), type_))
|
||||
key, type(self.pkg[key]), type_))
|
||||
|
||||
return True
|
||||
|
||||
@@ -373,6 +373,9 @@ class OnlPackage(object):
|
||||
raise OnlPackageError("Post-install script '%s' does not exist." % self.pkg['post-install'])
|
||||
command = command + "--after-install %s" % self.pkg['post-install']
|
||||
|
||||
if logger.level < logging.INFO:
|
||||
command = command + "--verbose "
|
||||
|
||||
onlu.execute(command)
|
||||
|
||||
# Grab the package from the workdir. There can be only one.
|
||||
@@ -506,7 +509,8 @@ class OnlPackageGroup(object):
|
||||
for bp in buildpaths:
|
||||
if os.path.exists(bp):
|
||||
MAKE = os.environ.get('MAKE', "make")
|
||||
cmd = MAKE + ' -C ' + bp + " " + os.environ.get('ONLPM_MAKE_OPTIONS', "") + " " + os.environ.get('ONL_MAKE_PARALLEL', "") + " " + target
|
||||
V = " V=1 " if logger.level < logging.INFO else ""
|
||||
cmd = MAKE + V + ' -C ' + bp + " " + os.environ.get('ONLPM_MAKE_OPTIONS', "") + " " + os.environ.get('ONL_MAKE_PARALLEL', "") + " " + target
|
||||
onlu.execute(cmd,
|
||||
ex=OnlPackageError('%s failed.' % operation))
|
||||
|
||||
@@ -1051,6 +1055,10 @@ if __name__ == '__main__':
|
||||
for j in ops.include_env_json.split(':'):
|
||||
data = json.load(open(j))
|
||||
for (k, v) in data.iteritems():
|
||||
try:
|
||||
v = v.encode('ascii')
|
||||
except UnicodeEncodeError:
|
||||
pass
|
||||
os.environ[k] = v
|
||||
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user