Commit Graph

46 Commits

Author SHA1 Message Date
Jeffrey Townsend
ce19018897 Package Distribution Restrictions
Packages can now restrict the debian distribution for which they can build using the new 'dists' package key.
This is a csv list of distribution codenames. If the currently building distribution is not in the list then
the package is ignored.
2018-12-25 15:29:32 +00:00
Jeffrey Townsend
eea5db9aef Fix symbolic link handling in the 'links' package section.
The 'links' section specifies symbolic links which should be added to the package in key : value format.

The key is the source of the link. It must be exist in the filesystem already (as part of the 'files' section)
and be relative to the root of the filesystem.

The value is the name of the link, and can be relative or absolute to the final filesystem.

For example, given that a package produces the real binary "/usr/bin/foobar" and you want /usr/bin/foobar-link -> /usr/bin/foobar
it will be specified as follows:

    links:
        /usr/bin/foobar : /usr/bin/foobar-link
2018-08-08 01:20:06 +00:00
Jeffrey Townsend
fbb7f751a8 Handle directory creation collisions hit during parallel builds. 2018-05-03 19:09:40 +00:00
Jeffrey Townsend
c43e647c02 Allow a package to declare its desired symlink behavior. 2018-04-18 16:35:26 +00:00
Jeffrey Townsend
fca1b92a9f The postinst script now checks /usr/sbin/policy-rc.d
Some complicated service dependencies will fail to configure
under normal circumstances because invoke-rc.d will kill service
start based on policy-rc.d but this is not taken into account when
configuring services that are dependent on that service.

The dependency check fails prior to the policy-rc.d check and as a result
some packages will remain unconfigured after we have finished constructing
the root filesystem. This is ok for most cases but precludes dynamic modification
of that filesystem post-creation and will even cause
those unconfigured services to be restarted the first time a new package is
installed.

Checking policy-rc.d first in the postinst script allows the configuration
step to complete for all services and their dependents to fix these problems.
2018-04-15 22:32:34 +00:00
Jeffrey Townsend
fde45aafd7 Disable ASR generation by default. Packages using ASR must be updated explicitly. 2018-04-05 17:27:21 +00:00
Jeffrey Townsend
e740ba56ab Merge pull request #319 from carlroth/master
Developer optimizations for incremental rootfs builds
2018-03-19 07:23:02 -07:00
Jeffrey Townsend
04cc75fc76 Add profiling for ASR generation. 2018-03-16 09:08:21 -07:00
Carl D. Roth
7aa876cda4 Enable the --lookup feature 2018-02-28 17:41:16 -08:00
Andreas Rammhold
a4cefaf8f5 tools: use /usr/bin/python2 instead of /usr/bin/python
python3 is starting to become the default on all major distributions.
Using `/usr/bin/python2` should be safe for the near future.
2017-06-30 11:40:29 +02:00
Jeffrey Townsend
fbc38a58b5 Change extract message from warn to info. 2017-05-23 08:12:43 -07:00
Jeffrey Townsend
5b46c04e24 Allow absolute paths (relative to the package root). 2017-02-15 18:36:53 +00:00
Jeffrey Townsend
61f9268995 Allow optional files in package declarations.
Files listed in the new 'optional-files' key will be included if present
but will not report packaging errors if missing.
2017-02-15 15:58:31 +00:00
Jeffrey Townsend
d3a1f1546d Allow comma-separated package lists in prerequisites. Makes some templating easier. 2016-12-31 20:58:20 +00:00
Carl D. Roth
001aa48a45 Merge branch 'master' of github.com:opencomputeproject/OpenNetworkLinux
Conflicts:
	packages/base/all/vendor-config-onl/src/python/onl/install/BaseInstall.py
2016-11-04 16:02:18 -07:00
Jeffrey Townsend
d3c65d04dd Remove output. 2016-11-04 21:32:08 +00:00
Jeffrey Townsend
54e292f0ba Factor out file delivery so it can be shared between packaging and release. 2016-11-04 21:16:03 +00:00
Jeffrey Townsend
08977b8e4c Use new unified infra asr too. 2016-11-01 19:23:55 +00:00
Jeffrey Townsend
51f23a3c7a Make asre generation configurable. 2016-10-31 22:10:47 +00:00
Jeffrey Townsend
cd61449e52 Automatically generate ASRE documentation for each package. 2016-10-31 20:22:53 +00:00
Jeffrey Townsend
65af997801 Add support for priority, replaces, provides, conflicts, and virtual (all three). 2016-10-31 18:31:04 +00:00
Jeffrey Townsend
384f4d24b4 Support automatic service install/remove scripts. 2016-10-31 09:41:55 -07:00
Carl D. Roth
6f9d993696 the --extract option is unimplemented 2016-10-26 12:37:24 -07:00
Shengzhou Liu
1ed3041b9d Add arm64 support for build and installer 2016-08-17 00:57:01 +08:00
Jeffrey Townsend
3174eb6db1 Make the RELEASE directory customizable. 2016-05-20 14:53:45 +00:00
Jeffrey Townsend
0477d8d90d Init at INFO. 2016-05-17 12:47:28 -07:00
Jeffrey Townsend
76ed0a772c Merge branch 'master' of github.com:opencomputeproject/OpenNetworkLinux
Conflicts:
	builds/any/rootfs/jessie/common/common-packages.yml
	builds/any/rootfs/wheezy/common/common-packages.yml
2016-05-16 14:18:18 -07:00
Carl D. Roth
7a1a873985 Fixed whitespace in command args 2016-05-06 16:37:10 -07:00
Carl D. Roth
71e0cc65c2 Added list_platforms api call 2016-05-06 11:07:54 -07:00
Carl D. Roth
7c2bb91b7c Clean up onlpm and make it embeddable 2016-05-02 13:00:55 -07:00
Steven Noble
90f0218b57 Update REPO directories to match standard APT names binary-arch 2016-04-19 14:53:58 -07:00
Jeffrey Townsend
d9db525297 Merge pull request #67 from carlroth/master
Initial rollup of installer WIP
2016-04-13 14:25:03 -07:00
Carl D. Roth
d9ba34c606 Eanble verbose build 2016-04-13 13:52:19 -07:00
Jeffrey Townsend
4e2130a0e7 The package cache should be instanced per-distro.
The package caches contain paths relative to the distro name (from the $BUILD_DIR variable).
As such the cache can become invalid when switching in-place between distro containers.
Keeping the cache instanced per-container makes sure they don't contaminate each other.
2016-04-05 17:02:52 -07:00
Jeffrey Townsend
06568c9d64 Rename properly to armel. 2016-03-30 18:28:47 -07:00
Jeffrey Townsend
8f6e933b08 Add ARM architecture support to the build environment. 2016-03-30 18:13:31 -07:00
Jeffrey Townsend
b2b66c9885 Include parallel make flags. 2016-01-29 22:28:51 +00:00
Jeffrey Townsend
3298209d91 - Do not allow duplicate packages in the repository.
- Use correct extract path while invalidating on new package install.
2016-01-05 18:39:59 +00:00
Jeffrey Townsend
2b63fc6f78 Allow missing files key. 2015-12-16 20:46:23 +00:00
Jeffrey Townsend
04beeb594c Allow filtering by architecture list. 2015-12-16 00:54:19 +00:00
Jeffrey Townsend
79e626bb38 Build directories are now instanced per suite. 2015-12-15 12:04:19 -08:00
Jeffrey Townsend
ce982caabe Option to extract the supported platform list from a package's manifest. 2015-12-11 21:33:37 +00:00
Jeffrey Townsend
9ac09ed790 - 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.
2015-12-01 05:10:20 +00:00
Jeffrey Townsend
04df114aff Allow source file globbing. 2015-12-01 00:59:34 +00:00
Jeffrey Townsend
2c1c316bfa Add custom package env variables. 2015-11-30 15:28:00 -08:00
Jeffrey Townsend
45dee0c608 Initial. 2015-11-19 22:45:38 +00:00