List of changes with respect to V00-30-XX branch of pkgtools are
- Auto generation of spec file feature added. Now if cmsdist/dir/cmsdist_packages.py exists then cmsBuild can make use of it and ask for spec files generation e.g. https://github.com/cms-sw/cmsdist/tree/IB/CMSSW_10_4_X/gcc700/pip can generate py-2*.spec for all the pip packages listed https://github.com/cms-sw/cmsdist/blob/IB/CMSSW_10_4_X/gcc700/pip/requirements.txt
- Make use of existing installation to symlink packages instead of downloading from server. This can save a lot of disk and network band width
- This feature can be enabled with
--reference path-to-existsing-installation
command-line option --black-list package-name
can be used to make sure thatpackage-name
is always install from repository instead of symlink to reference.
- This feature can be enabled with
- New usercommand protocol to get package sources e.g.
Source: usercommand://package?command=command-to-run-to-get-sources&output=/name.tar.gz
- Allow
no-cmssdt-cache=1
paramemter inSource:
to instruct cmsBuild to not cache the downloaded sources incmsrep
- Avoding caching large cms data packages.
- Allow to build a package using local sources.
--source <package>:<SourceN>=<path>/<package-dir>
. Note that<package-dir>
should match to the directory name which package spec file is expacting. For example for buildingroot
package with local sources first run
and then use> cmsBuild -a slc7_amd64_gcc700 ---sources build root ... ... root:Source=root-6.12.07 git+https://....
--source root:Source=/you/path/root-6.12.07
to provide localroot
sources. - Added
## INCLUDE file-name
support to include the contents ofcmsdist/file-name.file
it to the spec.- It expand the included file in place as compare to
## IMPORT file
which does it at the end of the generate spec.
- It expand the included file in place as compare to
- Cache
spec
results to avoid re-parsing when re-run. - Allow to use RPM macros in version. This allows to dynamically set the version based on your arch/os.
### RPM external zlib %{zlib_version}
%ifarch x86_64
%define zlib_version 1.2.11
%else
%define zlib_version 1.2.8
%endif
- Some cleanup of unused code and moved static data in to separate file.