From bac8dd9e8cf1a587a67116d6c88e2d7c739afb8f Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Thu, 26 Nov 2015 16:27:51 +0000 Subject: [PATCH 01/13] Accidental comming. --- .../platform-config/r0/info | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 packages/platforms/accton/powerpc-accton-as4600-54t/platform-config/r0/info diff --git a/packages/platforms/accton/powerpc-accton-as4600-54t/platform-config/r0/info b/packages/platforms/accton/powerpc-accton-as4600-54t/platform-config/r0/info deleted file mode 100644 index 5033d297..00000000 --- a/packages/platforms/accton/powerpc-accton-as4600-54t/platform-config/r0/info +++ /dev/null @@ -1,18 +0,0 @@ -** Package Group: /home/jeff/ws/branches/ONL-NEXT-GEN/packages/platforms/accton/powerpc-accton-as4600-54t/platform-config/r0/PKG.yml -packages: -- arch: powerpc - changelog: Changes - copyright: Copyright 2013, 2014, 2015 Big Switch Networks - depends: onl-platform-config-accton - files: - src/lib: /lib/platform-config/powerpc-accton-as4600-54t-r0/onl - src/python: /usr/lib/python2.7/dist-packages/onl/platform/ - maintainer: support@bigswitch.com - name: onl-platform-config-powerpc-accton-as4600-54t-r0 - summary: ONL Platform Configuration Package for the powerpc-accton-as4600-54t-r0 - version: 1.0.0 -prerequisites: - packages: - - onl-vendor-config-accton:all - - From 0b71b5c4a7cffed27a9e146bcd3baf31b799e836 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Mon, 30 Nov 2015 15:27:57 -0800 Subject: [PATCH 02/13] Add FNAME_RELEASE_ID. --- tools/onlvi.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/onlvi.py b/tools/onlvi.py index 811ff4d1..d71be362 100644 --- a/tools/onlvi.py +++ b/tools/onlvi.py @@ -50,3 +50,5 @@ class OnlVersionImplementation(object): def V_RELEASE_ID(self, data): return "%s,%s" % (self.V_VERSION_ID(data), self.V_BUILD_ID(data)) + def V_FNAME_RELEASE_ID(self, data): + return "%s-%s" % (self.V_VERSION_ID(data), self.V_FNAME_BUILD_ID(data)) From 2c1c316bfabbee1a8b030f15a8fd776a014140c6 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Mon, 30 Nov 2015 15:28:00 -0800 Subject: [PATCH 03/13] Add custom package env variables. --- tools/onlpm.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/onlpm.py b/tools/onlpm.py index b120297d..055fb1c1 100755 --- a/tools/onlpm.py +++ b/tools/onlpm.py @@ -19,6 +19,7 @@ import onlyaml import onlu from string import Template import re +import json logger = onlu.init_logging('onlpm') @@ -1048,8 +1049,15 @@ if __name__ == '__main__': ap.add_argument("--skip-missing", action='store_true') ap.add_argument("--try-arches", nargs='+', metavar='ARCH') ap.add_argument("--in-repo", nargs='+', metavar='PACKAGE') + ap.add_argument("--include-env-json", default=os.environ.get('ONLPM_OPTION_INCLUDE_ENV_JSON', None)) ops = ap.parse_args() + if ops.include_env_json: + for j in ops.include_env_json.split(':'): + data = json.load(open(j)) + for (k, v) in data.iteritems(): + os.environ[k] = v + # # The packagedirs and repo options can be inherited from the environment # to make it easier to customize the settings for a given project. From 04df114aff30680ee272bc504391626ea148b201 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 00:59:34 +0000 Subject: [PATCH 04/13] Allow source file globbing. --- tools/onlpm.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/onlpm.py b/tools/onlpm.py index 055fb1c1..c5a6404e 100755 --- a/tools/onlpm.py +++ b/tools/onlpm.py @@ -209,6 +209,16 @@ class OnlPackage(object): p = filename else: p = os.path.join(self.dir, filename) + + # Globs that result in a single file are allowed: + g = glob.glob(p) + if len(g) is 0: + raise OnlPackageError("'%s' did not match any files." % p) + elif len(g) > 1: + raise OnlPackageError("'%s' matched too many files %s" % (p, g)) + else: + p = g[0] + logger.debug("package file: %s" % p) return p @@ -572,6 +582,7 @@ class OnlPackageGroup(object): for p in self.packages: products.append(p.build(dir_=dir_)) + return products def clean(self, dir_=None): From 9ac09ed790a0be3bd6657c95c1a058f3daacd987 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 05:10:20 +0000 Subject: [PATCH 05/13] - Move src/dst file processing into common onl util - Support direct release of file products during package builds - Include suite codename in repo and delivery prefixes in anticipation of multisuite build support. --- tools/onlpm.py | 84 +++++++++++++------------------------------------- tools/onlu.py | 54 ++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 63 deletions(-) diff --git a/tools/onlpm.py b/tools/onlpm.py index c5a6404e..4a8b08bb 100755 --- a/tools/onlpm.py +++ b/tools/onlpm.py @@ -20,6 +20,9 @@ import onlu from string import Template import re import json +import lsb_release + +g_dist_codename = lsb_release.get_distro_information().get('CODENAME') logger = onlu.init_logging('onlpm') @@ -201,68 +204,12 @@ class OnlPackage(object): return True - - def filepath(self, filename): - """Return the file path for a given package file.""" - p = None - if os.path.isabs(filename): - p = filename - else: - p = os.path.join(self.dir, filename) - - # Globs that result in a single file are allowed: - g = glob.glob(p) - if len(g) is 0: - raise OnlPackageError("'%s' did not match any files." % p) - elif len(g) > 1: - raise OnlPackageError("'%s' matched too many files %s" % (p, g)) - else: - p = g[0] - - logger.debug("package file: %s" % p) - return p - - def _validate_files(self): """Validate the existence of the required input files for the current package.""" - - files = [] - if type(self.pkg['files']) is dict: - for (s,d) in self.pkg['files'].iteritems(): - files.append((s,d)) - elif type(self.pkg['files']) is list: - for e in self.pkg['files']: - if type(e) is dict: - for (s,d) in e.iteritems(): - files.append((s,d)) - elif type(e) in [ list, tuple ]: - if len(e) != 2: - raise OnlPackageError("Too many filenames: '%s'" % (e)) - else: - files.append((e[0], e[1])) - else: - raise OnlPackageError("File entry '%s' is invalid." % (e)) - - # - # Make sure all source files exist. - # - for f in files: - fp = self.filepath(f[0]) - if not os.path.exists(fp): - raise OnlPackageError("Source file or directory '%s' does not exist." % fp) - - # - # Perform destination-file substitutions. - # - flist = [] - for f in files: - s = Template(f[1]) - dst = s.substitute(dict(PKG=self.pkg['name'], PKG_INSTALL='/usr/share/onl/packages/%s/%s' % (self.pkg['arch'], self.pkg['name']))) - flist.append((f[0], dst)) - - self.pkg['files'] = flist - - + self.pkg['files'] = onlu.validate_src_dst_file_tuples(self.dir, + self.pkg['files'], + dict(PKG=self.pkg['name'], PKG_INSTALL='/usr/share/onl/packages/%s/%s' % (self.pkg['arch'], self.pkg['name'])), + OnlPackageError) def _validate(self): """Validate the package contents.""" @@ -331,8 +278,6 @@ class OnlPackage(object): if dst.startswith('/'): dst = dst[1:] - src = self.filepath(src) - if os.path.isdir(src): # # Copy entire src directory to target directory @@ -583,6 +528,19 @@ class OnlPackageGroup(object): products.append(p.build(dir_=dir_)) + if 'release' in self._pkgs: + release_list = onlu.validate_src_dst_file_tuples(self._pkgs['__directory'], + self._pkgs['release'], + dict(), + OnlPackageError) + for f in release_list: + # Todo -- customize + dst = os.path.join(os.getenv('ONL'), 'RELEASE', g_dist_codename, f[1]) + if not os.path.exists(dst): + os.makedirs(dst) + logger.info("Releasing %s -> %s" % (os.path.basename(f[0]), dst)) + shutil.copy(f[0], dst) + return products def clean(self, dir_=None): @@ -607,7 +565,7 @@ class OnlPackageRepo(object): root : The root directory that should be used for this repository.""" - self.root = root + root = os.path.join(root, g_dist_codename) if not os.path.exists(root): os.makedirs(root) diff --git a/tools/onlu.py b/tools/onlu.py index a3c33c04..74b5e1df 100644 --- a/tools/onlu.py +++ b/tools/onlu.py @@ -10,6 +10,8 @@ from collections import Iterable import sys import os import fcntl +import glob +from string import Template logger = None @@ -156,3 +158,55 @@ class Lock(object): def __del__(self): self.handle.close() + +def filepath(absdir, relpath, eklass): + """Return the absolute path for the given absdir/repath file.""" + p = None + if os.path.isabs(relpath): + p = relpath + else: + p = os.path.join(absdir, relpath) + + # Globs that result in a single file are allowed: + g = glob.glob(p) + if len(g) is 0: + raise eklass("'%s' did not match any files." % p) + elif len(g) > 1: + raise eklass("'%s' matched too many files %s" % (p, g)) + else: + p = g[0] + + return p + +def validate_src_dst_file_tuples(absdir, data, dstsubs, eklass): + files = [] + if type(data) is dict: + for (s,d) in data.iteritems(): + files.append((s,d)) + elif type(data) is list: + for e in data: + if type(e) is dict: + for (s,d) in e.iteritems(): + files.append((s,d)) + elif type(e) in [ list, tuple ]: + if len(e) != 2: + raise eklass("Too many filenames: '%s'" % (e)) + else: + files.append((e[0], e[1])) + else: + raise eklass("File entry '%s' is invalid." % (e)) + + # + # Validate/process source files. + # Process dst paths. + # + flist = [] + for f in files: + src = filepath(absdir, f[0], eklass) + if not os.path.exists(src): + raise eklass("Source file or directory '%s' does not exist." % src) + t = Template(f[1]) + dst = t.substitute(dstsubs) + flist.append((src, dst)) + + return flist From 9ce786852c3992272c2361aee380835e2a55ad22 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 05:12:26 +0000 Subject: [PATCH 06/13] Now instanced by suite. --- REPO/.gitignore | 5 +++++ REPO/packages/.gitignore | 3 --- REPO/{ => wheezy}/Makefile | 0 REPO/{ => wheezy}/packages/all/Makefile | 0 REPO/{ => wheezy}/packages/amd64/Makefile | 0 REPO/{ => wheezy}/packages/powerpc/Makefile | 0 6 files changed, 5 insertions(+), 3 deletions(-) delete mode 100644 REPO/packages/.gitignore rename REPO/{ => wheezy}/Makefile (100%) rename REPO/{ => wheezy}/packages/all/Makefile (100%) rename REPO/{ => wheezy}/packages/amd64/Makefile (100%) rename REPO/{ => wheezy}/packages/powerpc/Makefile (100%) diff --git a/REPO/.gitignore b/REPO/.gitignore index 1477bd1f..a0deba49 100644 --- a/REPO/.gitignore +++ b/REPO/.gitignore @@ -1 +1,6 @@ extracts +*.deb +Packages +Packages.gz + + diff --git a/REPO/packages/.gitignore b/REPO/packages/.gitignore deleted file mode 100644 index a1f17ae9..00000000 --- a/REPO/packages/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.deb -Packages -Packages.gz diff --git a/REPO/Makefile b/REPO/wheezy/Makefile similarity index 100% rename from REPO/Makefile rename to REPO/wheezy/Makefile diff --git a/REPO/packages/all/Makefile b/REPO/wheezy/packages/all/Makefile similarity index 100% rename from REPO/packages/all/Makefile rename to REPO/wheezy/packages/all/Makefile diff --git a/REPO/packages/amd64/Makefile b/REPO/wheezy/packages/amd64/Makefile similarity index 100% rename from REPO/packages/amd64/Makefile rename to REPO/wheezy/packages/amd64/Makefile diff --git a/REPO/packages/powerpc/Makefile b/REPO/wheezy/packages/powerpc/Makefile similarity index 100% rename from REPO/packages/powerpc/Makefile rename to REPO/wheezy/packages/powerpc/Makefile From e382a15ab8adab9a993039ec6e76b1335e3ea2ff Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 05:13:39 +0000 Subject: [PATCH 07/13] - Add builds/ to package directorys. - Add version environment information. --- setup.env | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.env b/setup.env index 43ecfa57..eea3c058 100755 --- a/setup.env +++ b/setup.env @@ -10,7 +10,7 @@ export ONL=$( cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd) # The ONL package dir is here: -export ONLPM_OPTION_PACKAGEDIRS="$ONL/packages" +export ONLPM_OPTION_PACKAGEDIRS="$ONL/packages:$ONL/builds" # The ONL repo dir is here: export ONLPM_OPTION_REPO="$ONL/REPO" @@ -29,6 +29,9 @@ $ONL/tools/submodules.py $ONL sm/bigcode # Version files $ONL/tools/make-versions.py --import-file=$ONL/tools/onlvi --class-name=OnlVersionImplementation --output-dir $ONL/make +# Make version values available in the package environment +export ONLPM_OPTION_INCLUDE_ENV_JSON="$ONL/make/version-onl.json" + # # buildroot download mirror. We suggest you setup a local repository containing these contents for faster local builds. # From c3078a4fa2bbfaade5275bc78092bfbd5681dd0c Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 05:15:02 +0000 Subject: [PATCH 08/13] Rootfs and SWI Build Cleanup The rootfs and SWI packages are now stored separately from the base packages. The base and platform packages are designed as inputs for the system integrator and are separated for use by those building their own systems. The rootfs, SWI (and soon to be installer) parts of the builds are productizations of those inputs. When ONL is integrated as part of a larger project these rootfs and SWI packages are not used directly. --- builds/.gitignore | 2 ++ builds/Makefile | 1 + builds/amd64/rootfs/.gitignore | 1 + builds/amd64/rootfs/Makefile | 1 + builds/amd64/rootfs/PKG.yml | 1 + builds/amd64/rootfs/builds/.gitignore | 1 + builds/amd64/rootfs/builds/Makefile | 16 +++++++++ builds/amd64/swi/Makefile | 1 + builds/amd64/swi/PKG.yml | 2 ++ .../{swi/amd64 => amd64/swi/builds}/Makefile | 0 builds/any/rootfs/APKG.yml | 23 ++++++++++++ builds/any/swi/APKG.yml | 35 +++++++++++++++++++ builds/powerpc/rootfs/Makefile | 1 + builds/powerpc/rootfs/PKG.yml | 1 + builds/powerpc/rootfs/builds/.gitignore | 2 ++ builds/powerpc/rootfs/builds/Makefile | 16 +++++++++ builds/powerpc/swi/Makefile | 1 + builds/powerpc/swi/PKG.yml | 2 ++ .../powerpc => powerpc/swi/builds}/Makefile | 0 builds/swi/.gitignore | 2 -- 20 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 builds/.gitignore create mode 100644 builds/Makefile create mode 100644 builds/amd64/rootfs/.gitignore create mode 100644 builds/amd64/rootfs/Makefile create mode 100644 builds/amd64/rootfs/PKG.yml create mode 100644 builds/amd64/rootfs/builds/.gitignore create mode 100644 builds/amd64/rootfs/builds/Makefile create mode 100644 builds/amd64/swi/Makefile create mode 100644 builds/amd64/swi/PKG.yml rename builds/{swi/amd64 => amd64/swi/builds}/Makefile (100%) create mode 100644 builds/any/rootfs/APKG.yml create mode 100644 builds/any/swi/APKG.yml create mode 100644 builds/powerpc/rootfs/Makefile create mode 100644 builds/powerpc/rootfs/PKG.yml create mode 100644 builds/powerpc/rootfs/builds/.gitignore create mode 100644 builds/powerpc/rootfs/builds/Makefile create mode 100644 builds/powerpc/swi/Makefile create mode 100644 builds/powerpc/swi/PKG.yml rename builds/{swi/powerpc => powerpc/swi/builds}/Makefile (100%) delete mode 100644 builds/swi/.gitignore diff --git a/builds/.gitignore b/builds/.gitignore new file mode 100644 index 00000000..35e70f99 --- /dev/null +++ b/builds/.gitignore @@ -0,0 +1,2 @@ +*.swi +*.md5sum diff --git a/builds/Makefile b/builds/Makefile new file mode 100644 index 00000000..003238cf --- /dev/null +++ b/builds/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/builds/amd64/rootfs/.gitignore b/builds/amd64/rootfs/.gitignore new file mode 100644 index 00000000..b2918169 --- /dev/null +++ b/builds/amd64/rootfs/.gitignore @@ -0,0 +1 @@ +*.d/ diff --git a/builds/amd64/rootfs/Makefile b/builds/amd64/rootfs/Makefile new file mode 100644 index 00000000..dc1e7b86 --- /dev/null +++ b/builds/amd64/rootfs/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk diff --git a/builds/amd64/rootfs/PKG.yml b/builds/amd64/rootfs/PKG.yml new file mode 100644 index 00000000..8afda98f --- /dev/null +++ b/builds/amd64/rootfs/PKG.yml @@ -0,0 +1 @@ +!include $ONL/builds/any/rootfs/APKG.yml ARCH=amd64 diff --git a/builds/amd64/rootfs/builds/.gitignore b/builds/amd64/rootfs/builds/.gitignore new file mode 100644 index 00000000..2ddf5f27 --- /dev/null +++ b/builds/amd64/rootfs/builds/.gitignore @@ -0,0 +1 @@ +manifest.json diff --git a/builds/amd64/rootfs/builds/Makefile b/builds/amd64/rootfs/builds/Makefile new file mode 100644 index 00000000..aa896dda --- /dev/null +++ b/builds/amd64/rootfs/builds/Makefile @@ -0,0 +1,16 @@ +include $(ONL)/make/config.amd64.mk + +# +# Default to include all available amd64 platforms. +# You override this with you own list or yaml file. +# +export PLATFORM_LIST=$(shell onlpm --list-platforms --arch amd64 --csv ) + +RFS_CONFIG := $(ONL)/packages/base/any/rootfs/standard/standard.yml +RFS_DIR := rootfs-amd64.d +RFS_CPIO := rootfs-amd64.cpio.gz +RFS_SQUASH := rootfs-amd64.sqsh + +include $(ONL)/make/rfs.mk + + diff --git a/builds/amd64/swi/Makefile b/builds/amd64/swi/Makefile new file mode 100644 index 00000000..003238cf --- /dev/null +++ b/builds/amd64/swi/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/builds/amd64/swi/PKG.yml b/builds/amd64/swi/PKG.yml new file mode 100644 index 00000000..ef9b0f97 --- /dev/null +++ b/builds/amd64/swi/PKG.yml @@ -0,0 +1,2 @@ +!include $ONL/builds/any/swi/APKG.yml ARCH=amd64 + diff --git a/builds/swi/amd64/Makefile b/builds/amd64/swi/builds/Makefile similarity index 100% rename from builds/swi/amd64/Makefile rename to builds/amd64/swi/builds/Makefile diff --git a/builds/any/rootfs/APKG.yml b/builds/any/rootfs/APKG.yml new file mode 100644 index 00000000..114d10c2 --- /dev/null +++ b/builds/any/rootfs/APKG.yml @@ -0,0 +1,23 @@ +prerequisites: + broken: true + +common: + arch: $ARCH + version: $FNAME_RELEASE_ID + copyright: Copyright 2013, 2014, 2015 Big Switch Networks + maintainer: support@bigswitch.com + +packages: + - name: onl-rootfs + summary: Open Network Linux Root Filesystem + + files: + builds/rootfs-$ARCH.cpio.gz : $$PKG_INSTALL/ + builds/rootfs-$ARCH.sqsh : $$PKG_INSTALL/ + builds/manifest.json : $$PKG_INSTALL/ + + changelog: Change changes changes., + + + + diff --git a/builds/any/swi/APKG.yml b/builds/any/swi/APKG.yml new file mode 100644 index 00000000..73267f4a --- /dev/null +++ b/builds/any/swi/APKG.yml @@ -0,0 +1,35 @@ + +prerequisites: + broken: true + packages: [ "onl-rootfs:$ARCH" ] + +common: + arch: $ARCH + version: $FNAME_RELEASE_ID + copyright: Copyright 2013, 2014, 2015 Big Switch Networks + maintainer: support@bigswitch.com + +packages: + - name: onl-swi + summary: Open Network Linux Switch Image (All $ARCH) Platforms) + + files: + builds/*.swi : $$PKG_INSTALL/ + builds/*.md5sum : $$PKG_INSTALL/ + + changelog: Change changes changes., + + +release: + - builds/*.swi : $ARCH/ + - builds/*.md5sum : $ARCH/ + + + + + + + + + + diff --git a/builds/powerpc/rootfs/Makefile b/builds/powerpc/rootfs/Makefile new file mode 100644 index 00000000..dc1e7b86 --- /dev/null +++ b/builds/powerpc/rootfs/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk diff --git a/builds/powerpc/rootfs/PKG.yml b/builds/powerpc/rootfs/PKG.yml new file mode 100644 index 00000000..c256419f --- /dev/null +++ b/builds/powerpc/rootfs/PKG.yml @@ -0,0 +1 @@ +!include $ONL/builds/any/rootfs/APKG.yml ARCH=powerpc diff --git a/builds/powerpc/rootfs/builds/.gitignore b/builds/powerpc/rootfs/builds/.gitignore new file mode 100644 index 00000000..ea55cee3 --- /dev/null +++ b/builds/powerpc/rootfs/builds/.gitignore @@ -0,0 +1,2 @@ +*.d/ +manifest.json diff --git a/builds/powerpc/rootfs/builds/Makefile b/builds/powerpc/rootfs/builds/Makefile new file mode 100644 index 00000000..77e9b471 --- /dev/null +++ b/builds/powerpc/rootfs/builds/Makefile @@ -0,0 +1,16 @@ +include $(ONL)/make/config.powerpc.mk + +# +# Default to include all available powerpc platforms. +# You override this with you own list or yaml file. +# +export PLATFORM_LIST=$(shell onlpm --list-platforms --arch powerpc --csv ) + +RFS_CONFIG := $(ONL)/packages/base/any/rootfs/standard/standard.yml +RFS_DIR := rootfs-powerpc.d +RFS_CPIO := rootfs-powerpc.cpio.gz +RFS_SQUASH := rootfs-powerpc.sqsh + +include $(ONL)/make/rfs.mk + + diff --git a/builds/powerpc/swi/Makefile b/builds/powerpc/swi/Makefile new file mode 100644 index 00000000..003238cf --- /dev/null +++ b/builds/powerpc/swi/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/builds/powerpc/swi/PKG.yml b/builds/powerpc/swi/PKG.yml new file mode 100644 index 00000000..3aac1ca1 --- /dev/null +++ b/builds/powerpc/swi/PKG.yml @@ -0,0 +1,2 @@ +!include $ONL/builds/any/swi/APKG.yml ARCH=powerpc + diff --git a/builds/swi/powerpc/Makefile b/builds/powerpc/swi/builds/Makefile similarity index 100% rename from builds/swi/powerpc/Makefile rename to builds/powerpc/swi/builds/Makefile diff --git a/builds/swi/.gitignore b/builds/swi/.gitignore deleted file mode 100644 index e231f9df..00000000 --- a/builds/swi/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.swi -*.swi.md5sum From 960f1db83d058b296091a539186291a1fb9a8c0c Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 05:17:50 +0000 Subject: [PATCH 09/13] Moved to ONL/builds --- packages/base/amd64/rootfs/.gitignore | 1 - packages/base/amd64/rootfs/Makefile | 1 - packages/base/amd64/rootfs/PKG.yml | 1 - packages/base/amd64/rootfs/builds/.gitignore | 1 - packages/base/amd64/rootfs/builds/Makefile | 16 ------------- packages/base/any/rootfs/APKG.yml | 24 ------------------- .../base/any/rootfs/standard/standard.yml | 4 ++-- packages/base/powerpc/rootfs/Makefile | 1 - packages/base/powerpc/rootfs/PKG.yml | 2 -- .../base/powerpc/rootfs/builds/.gitignore | 2 -- packages/base/powerpc/rootfs/builds/Makefile | 16 ------------- 11 files changed, 2 insertions(+), 67 deletions(-) delete mode 100644 packages/base/amd64/rootfs/.gitignore delete mode 100644 packages/base/amd64/rootfs/Makefile delete mode 100644 packages/base/amd64/rootfs/PKG.yml delete mode 100644 packages/base/amd64/rootfs/builds/.gitignore delete mode 100644 packages/base/amd64/rootfs/builds/Makefile delete mode 100644 packages/base/any/rootfs/APKG.yml delete mode 100644 packages/base/powerpc/rootfs/Makefile delete mode 100644 packages/base/powerpc/rootfs/PKG.yml delete mode 100644 packages/base/powerpc/rootfs/builds/.gitignore delete mode 100644 packages/base/powerpc/rootfs/builds/Makefile diff --git a/packages/base/amd64/rootfs/.gitignore b/packages/base/amd64/rootfs/.gitignore deleted file mode 100644 index b2918169..00000000 --- a/packages/base/amd64/rootfs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.d/ diff --git a/packages/base/amd64/rootfs/Makefile b/packages/base/amd64/rootfs/Makefile deleted file mode 100644 index dc1e7b86..00000000 --- a/packages/base/amd64/rootfs/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk diff --git a/packages/base/amd64/rootfs/PKG.yml b/packages/base/amd64/rootfs/PKG.yml deleted file mode 100644 index f7a80d0b..00000000 --- a/packages/base/amd64/rootfs/PKG.yml +++ /dev/null @@ -1 +0,0 @@ -!include $ONL/packages/base/any/rootfs/APKG.yml ARCH=amd64 diff --git a/packages/base/amd64/rootfs/builds/.gitignore b/packages/base/amd64/rootfs/builds/.gitignore deleted file mode 100644 index 2ddf5f27..00000000 --- a/packages/base/amd64/rootfs/builds/.gitignore +++ /dev/null @@ -1 +0,0 @@ -manifest.json diff --git a/packages/base/amd64/rootfs/builds/Makefile b/packages/base/amd64/rootfs/builds/Makefile deleted file mode 100644 index aa896dda..00000000 --- a/packages/base/amd64/rootfs/builds/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -include $(ONL)/make/config.amd64.mk - -# -# Default to include all available amd64 platforms. -# You override this with you own list or yaml file. -# -export PLATFORM_LIST=$(shell onlpm --list-platforms --arch amd64 --csv ) - -RFS_CONFIG := $(ONL)/packages/base/any/rootfs/standard/standard.yml -RFS_DIR := rootfs-amd64.d -RFS_CPIO := rootfs-amd64.cpio.gz -RFS_SQUASH := rootfs-amd64.sqsh - -include $(ONL)/make/rfs.mk - - diff --git a/packages/base/any/rootfs/APKG.yml b/packages/base/any/rootfs/APKG.yml deleted file mode 100644 index 03277efb..00000000 --- a/packages/base/any/rootfs/APKG.yml +++ /dev/null @@ -1,24 +0,0 @@ -prerequisites: - broken: true - -common: - arch: $ARCH - version: 1.0.0 - copyright: Copyright 2013, 2014, 2015 Big Switch Networks - maintainer: support@bigswitch.com - -packages: - - name: onl-rootfs - version: 1.0.0 - summary: Open Network Linux Root Filesystem - - files: - builds/rootfs-$ARCH.cpio.gz : $$PKG_INSTALL/ - builds/rootfs-$ARCH.sqsh : $$PKG_INSTALL/ - builds/manifest.json : $$PKG_INSTALL/ - - changelog: Change changes changes., - - - - diff --git a/packages/base/any/rootfs/standard/standard.yml b/packages/base/any/rootfs/standard/standard.yml index b3a63767..d8e550b8 100644 --- a/packages/base/any/rootfs/standard/standard.yml +++ b/packages/base/any/rootfs/standard/standard.yml @@ -30,11 +30,11 @@ Multistrap: omitdebsrc: true Local-All: - source: ${ONL}/REPO/packages/all + source: ${ONL}/REPO/${DEBIAN_SUITE}/packages/all omitdebsrc: true Local-Arch: - source: ${ONL}/REPO/packages/${ARCH} + source: ${ONL}/REPO/${DEBIAN_SUITE}/packages/${ARCH} omitdebsrc: true Configure: diff --git a/packages/base/powerpc/rootfs/Makefile b/packages/base/powerpc/rootfs/Makefile deleted file mode 100644 index dc1e7b86..00000000 --- a/packages/base/powerpc/rootfs/Makefile +++ /dev/null @@ -1 +0,0 @@ -include $(ONL)/make/pkg.mk diff --git a/packages/base/powerpc/rootfs/PKG.yml b/packages/base/powerpc/rootfs/PKG.yml deleted file mode 100644 index 4289d348..00000000 --- a/packages/base/powerpc/rootfs/PKG.yml +++ /dev/null @@ -1,2 +0,0 @@ -!include $ONL/packages/base/any/rootfs/APKG.yml ARCH=powerpc - diff --git a/packages/base/powerpc/rootfs/builds/.gitignore b/packages/base/powerpc/rootfs/builds/.gitignore deleted file mode 100644 index ea55cee3..00000000 --- a/packages/base/powerpc/rootfs/builds/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -*.d/ -manifest.json diff --git a/packages/base/powerpc/rootfs/builds/Makefile b/packages/base/powerpc/rootfs/builds/Makefile deleted file mode 100644 index 77e9b471..00000000 --- a/packages/base/powerpc/rootfs/builds/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -include $(ONL)/make/config.powerpc.mk - -# -# Default to include all available powerpc platforms. -# You override this with you own list or yaml file. -# -export PLATFORM_LIST=$(shell onlpm --list-platforms --arch powerpc --csv ) - -RFS_CONFIG := $(ONL)/packages/base/any/rootfs/standard/standard.yml -RFS_DIR := rootfs-powerpc.d -RFS_CPIO := rootfs-powerpc.cpio.gz -RFS_SQUASH := rootfs-powerpc.sqsh - -include $(ONL)/make/rfs.mk - - From 4930dc99bf8e08ff2eadd4a8b65a2f36116595f1 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 05:18:13 +0000 Subject: [PATCH 10/13] Ignore RELEASE directory. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 5e24190c..602f954c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ dependmodules.x # Local module manifest. .manifest.mk +RELEASE/ From 86c261dd8060e719c61a2782bba6dc84cd6bfba2 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 05:18:31 +0000 Subject: [PATCH 11/13] Remove stale files --- make/swi.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/make/swi.mk b/make/swi.mk index b5b16a43..c3e59bb6 100644 --- a/make/swi.mk +++ b/make/swi.mk @@ -17,6 +17,7 @@ FILENAMER := $(ONL)/tools/filenamer.py endif swi: FORCE + $(ONL_V_at) rm -rf *.swi* $(ONL_V_at) $(ONLPM) $(LINK_OPTIONS) $(ONL_V_at) zip -n rootfs-$(ARCH).sqsh - rootfs-$(ARCH).sqsh manifest.json > $@ $(ONL_V_at) mv $@ `$(FILENAMER) --type swi --manifest manifest.json $@` From 2aee55b496347e25f6dcdd59ec8599028d7673e6 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Tue, 1 Dec 2015 18:48:57 +0000 Subject: [PATCH 12/13] Finalize move of rootfs and swi packages to /builds --- builds/amd64/Makefile | 1 + builds/amd64/rootfs/builds/Makefile | 2 +- .../base => builds}/any/rootfs/common/amd64-packages.yml | 0 .../base => builds}/any/rootfs/common/common-packages.yml | 0 .../base => builds}/any/rootfs/common/overlay/etc/adjtime | 0 .../any/rootfs/common/overlay/etc/filesystems | 0 .../any/rootfs/common/overlay/etc/inetd.conf | 0 .../any/rootfs/common/overlay/etc/init.d/initdev | 0 .../common/overlay/etc/profile.d/onl-platform-current.sh | 0 .../base => builds}/any/rootfs/common/overlay/etc/rssh.conf | 0 .../rootfs/common/overlay/etc/udev/rules.d/60-block.rules | 0 .../any/rootfs/common/overlay/etc/udev/rules.d/60-net.rules | 0 .../any/rootfs/common/overlay/sbin/initblockdev | 0 .../base => builds}/any/rootfs/common/overlay/sbin/pgetty | 0 .../base => builds}/any/rootfs/common/overlay/sbin/watchdir | 0 .../base => builds}/any/rootfs/common/powerpc-packages.yml | 0 {packages/base => builds}/any/rootfs/standard/standard.yml | 6 +++--- builds/powerpc/Makefile | 1 + builds/powerpc/rootfs/builds/Makefile | 2 +- 19 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 builds/amd64/Makefile rename {packages/base => builds}/any/rootfs/common/amd64-packages.yml (100%) rename {packages/base => builds}/any/rootfs/common/common-packages.yml (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/adjtime (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/filesystems (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/inetd.conf (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/init.d/initdev (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/profile.d/onl-platform-current.sh (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/rssh.conf (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/udev/rules.d/60-block.rules (100%) rename {packages/base => builds}/any/rootfs/common/overlay/etc/udev/rules.d/60-net.rules (100%) rename {packages/base => builds}/any/rootfs/common/overlay/sbin/initblockdev (100%) rename {packages/base => builds}/any/rootfs/common/overlay/sbin/pgetty (100%) rename {packages/base => builds}/any/rootfs/common/overlay/sbin/watchdir (100%) rename {packages/base => builds}/any/rootfs/common/powerpc-packages.yml (100%) rename {packages/base => builds}/any/rootfs/standard/standard.yml (89%) create mode 100644 builds/powerpc/Makefile diff --git a/builds/amd64/Makefile b/builds/amd64/Makefile new file mode 100644 index 00000000..003238cf --- /dev/null +++ b/builds/amd64/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/builds/amd64/rootfs/builds/Makefile b/builds/amd64/rootfs/builds/Makefile index aa896dda..c4dbc057 100644 --- a/builds/amd64/rootfs/builds/Makefile +++ b/builds/amd64/rootfs/builds/Makefile @@ -6,7 +6,7 @@ include $(ONL)/make/config.amd64.mk # export PLATFORM_LIST=$(shell onlpm --list-platforms --arch amd64 --csv ) -RFS_CONFIG := $(ONL)/packages/base/any/rootfs/standard/standard.yml +RFS_CONFIG := $(ONL)/builds/any/rootfs/standard/standard.yml RFS_DIR := rootfs-amd64.d RFS_CPIO := rootfs-amd64.cpio.gz RFS_SQUASH := rootfs-amd64.sqsh diff --git a/packages/base/any/rootfs/common/amd64-packages.yml b/builds/any/rootfs/common/amd64-packages.yml similarity index 100% rename from packages/base/any/rootfs/common/amd64-packages.yml rename to builds/any/rootfs/common/amd64-packages.yml diff --git a/packages/base/any/rootfs/common/common-packages.yml b/builds/any/rootfs/common/common-packages.yml similarity index 100% rename from packages/base/any/rootfs/common/common-packages.yml rename to builds/any/rootfs/common/common-packages.yml diff --git a/packages/base/any/rootfs/common/overlay/etc/adjtime b/builds/any/rootfs/common/overlay/etc/adjtime similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/adjtime rename to builds/any/rootfs/common/overlay/etc/adjtime diff --git a/packages/base/any/rootfs/common/overlay/etc/filesystems b/builds/any/rootfs/common/overlay/etc/filesystems similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/filesystems rename to builds/any/rootfs/common/overlay/etc/filesystems diff --git a/packages/base/any/rootfs/common/overlay/etc/inetd.conf b/builds/any/rootfs/common/overlay/etc/inetd.conf similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/inetd.conf rename to builds/any/rootfs/common/overlay/etc/inetd.conf diff --git a/packages/base/any/rootfs/common/overlay/etc/init.d/initdev b/builds/any/rootfs/common/overlay/etc/init.d/initdev similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/init.d/initdev rename to builds/any/rootfs/common/overlay/etc/init.d/initdev diff --git a/packages/base/any/rootfs/common/overlay/etc/profile.d/onl-platform-current.sh b/builds/any/rootfs/common/overlay/etc/profile.d/onl-platform-current.sh similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/profile.d/onl-platform-current.sh rename to builds/any/rootfs/common/overlay/etc/profile.d/onl-platform-current.sh diff --git a/packages/base/any/rootfs/common/overlay/etc/rssh.conf b/builds/any/rootfs/common/overlay/etc/rssh.conf similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/rssh.conf rename to builds/any/rootfs/common/overlay/etc/rssh.conf diff --git a/packages/base/any/rootfs/common/overlay/etc/udev/rules.d/60-block.rules b/builds/any/rootfs/common/overlay/etc/udev/rules.d/60-block.rules similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/udev/rules.d/60-block.rules rename to builds/any/rootfs/common/overlay/etc/udev/rules.d/60-block.rules diff --git a/packages/base/any/rootfs/common/overlay/etc/udev/rules.d/60-net.rules b/builds/any/rootfs/common/overlay/etc/udev/rules.d/60-net.rules similarity index 100% rename from packages/base/any/rootfs/common/overlay/etc/udev/rules.d/60-net.rules rename to builds/any/rootfs/common/overlay/etc/udev/rules.d/60-net.rules diff --git a/packages/base/any/rootfs/common/overlay/sbin/initblockdev b/builds/any/rootfs/common/overlay/sbin/initblockdev similarity index 100% rename from packages/base/any/rootfs/common/overlay/sbin/initblockdev rename to builds/any/rootfs/common/overlay/sbin/initblockdev diff --git a/packages/base/any/rootfs/common/overlay/sbin/pgetty b/builds/any/rootfs/common/overlay/sbin/pgetty similarity index 100% rename from packages/base/any/rootfs/common/overlay/sbin/pgetty rename to builds/any/rootfs/common/overlay/sbin/pgetty diff --git a/packages/base/any/rootfs/common/overlay/sbin/watchdir b/builds/any/rootfs/common/overlay/sbin/watchdir similarity index 100% rename from packages/base/any/rootfs/common/overlay/sbin/watchdir rename to builds/any/rootfs/common/overlay/sbin/watchdir diff --git a/packages/base/any/rootfs/common/powerpc-packages.yml b/builds/any/rootfs/common/powerpc-packages.yml similarity index 100% rename from packages/base/any/rootfs/common/powerpc-packages.yml rename to builds/any/rootfs/common/powerpc-packages.yml diff --git a/packages/base/any/rootfs/standard/standard.yml b/builds/any/rootfs/standard/standard.yml similarity index 89% rename from packages/base/any/rootfs/standard/standard.yml rename to builds/any/rootfs/standard/standard.yml index d8e550b8..a8f185c7 100644 --- a/packages/base/any/rootfs/standard/standard.yml +++ b/builds/any/rootfs/standard/standard.yml @@ -8,8 +8,8 @@ # ############################################################ Packages: &Packages - - !include $ONL/packages/base/any/rootfs/common/common-packages.yml - - !include $ONL/packages/base/any/rootfs/common/${ARCH}-packages.yml + - !include $ONL/builds/any/rootfs/common/common-packages.yml + - !include $ONL/builds/any/rootfs/common/${ARCH}-packages.yml - !script $ONL/tools/onl-platform-pkgs.py ${PLATFORM_LIST} Multistrap: @@ -39,7 +39,7 @@ Multistrap: Configure: overlays: - - ${ONL}/packages/base/any/rootfs/common/overlay + - ${ONL}/builds/any/rootfs/common/overlay update-rc.d: - 'initdev defaults' diff --git a/builds/powerpc/Makefile b/builds/powerpc/Makefile new file mode 100644 index 00000000..003238cf --- /dev/null +++ b/builds/powerpc/Makefile @@ -0,0 +1 @@ +include $(ONL)/make/pkg.mk \ No newline at end of file diff --git a/builds/powerpc/rootfs/builds/Makefile b/builds/powerpc/rootfs/builds/Makefile index 77e9b471..db5e6ad8 100644 --- a/builds/powerpc/rootfs/builds/Makefile +++ b/builds/powerpc/rootfs/builds/Makefile @@ -6,7 +6,7 @@ include $(ONL)/make/config.powerpc.mk # export PLATFORM_LIST=$(shell onlpm --list-platforms --arch powerpc --csv ) -RFS_CONFIG := $(ONL)/packages/base/any/rootfs/standard/standard.yml +RFS_CONFIG := $(ONL)/builds/any/rootfs/standard/standard.yml RFS_DIR := rootfs-powerpc.d RFS_CPIO := rootfs-powerpc.cpio.gz RFS_SQUASH := rootfs-powerpc.sqsh From 544a42d9e4c037dbd17d468a73cf848f208fd370 Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Wed, 2 Dec 2015 00:39:26 +0000 Subject: [PATCH 13/13] Move submodule initialization to the end. --- setup.env | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/setup.env b/setup.env index eea3c058..6eddb4a8 100755 --- a/setup.env +++ b/setup.env @@ -22,10 +22,6 @@ export PATH="$ONL/tools/scripts:$ONL/tools:$PATH" # Default parallel build settings export MAKEFLAGS="-j64" -# These submodules are required for almost everything. -$ONL/tools/submodules.py $ONL sm/infra -$ONL/tools/submodules.py $ONL sm/bigcode - # Version files $ONL/tools/make-versions.py --import-file=$ONL/tools/onlvi --class-name=OnlVersionImplementation --output-dir $ONL/make @@ -37,4 +33,9 @@ export ONLPM_OPTION_INCLUDE_ENV_JSON="$ONL/make/version-onl.json" # export BUILDROOTMIRROR=${BUILDROOTMIRROR:-"http://buildroot.hw.bigswitch.com/dl"} +# These submodules are required for almost everything. +$ONL/tools/submodules.py $ONL sm/infra +$ONL/tools/submodules.py $ONL sm/bigcode + +