If a python package is python3-only and has a setup.py,
"distutils23" will be used as build pattern even if the project is
explicitely specified as python 2 or python 3 only.
This change tries to find if either of these are the case by
looking at the classifiers in the setup.py file for the following
string:
"Programming Language :: Python :: 3 :: Only"
"Programming Language :: Python :: 2 :: Only"
The default is still "distutils23" unless either of these strings
are found. If they are "distutils2" or "distutils3" will be used
corresponding to the version in the classifier.
Signed-off-by: Kevron Rees <kevron.m.rees@intel.com>
This release adds several new features:
* Bitbake infile parsing using the --infile flag (see README)
* Support override file for %description section
* Default python pattern now distutils3 instead of distutils23
* Improved Rust/Cargo support
* Improved 32bit make/make_install args support
* Print fingerprint of imported pubkey
* Change default keyring to package repository with fallback the
autospec repository.
* Improved output
...makes some configuration updates:
* Adds several new public keys
* Adds lines to configure_whitelist
* Adds patterns for failed_patterns
...and makes several fixes as well:
* Print guessed commitmessage as string instead of list
* Fix several issues with catkin support
* Follow redirects by the license server
* Add a couple new URL patterns
* Remove unneeded V and VERBOSE flags for make lines
* Remove no-longer-used functional test suite
* Turn off string interpolation for URLs containing '%'
* Respect [autospec][urlban] for archive URLs
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
* Improves test coverage for several modules
* Adds "autoupdate" flag for usage by third-party tools
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release deprecates Makefile writing by autospec since per-package
Makefiles are not used by autospec.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release introduces safeguards to remove directories from the
package file list to protect against top-level directories being
included in packages (such as /usr). The build.log files are now saved
to the target directory for each failed build attempt. The urlban is now
respected when writing metadata to options.conf.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release makes some small updates to our README documentation,
improves tarball.py and pkg_integrity.py testing, fixes a bug that
allowed an empty file to remain on failed downloads, and adds a regular
expression for build.log test scanning.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release improves automated commit message guesses using the git
shortlog for the updated package. It also adds a --no-prep option that
downloads the sources, does the basic name and version detection, and
puts metadata in the <targetdir>/workingdir directory for human or tool
consumption before exiting without writing to the spec file.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release greatly improves version and package name detection and
adds over 1900 package URL tests for this feature. Package metadata is
now written to options.conf under the 'package' section. A Makefile is
still being written to, but this is deprecated and will be removed in
the future. The mock command is now detected in a manner compatible with
linux distributions other than Clear Linux.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
This release adds the "-C/--cleanup" flag to clean up the mock chroots
after a build. It also ensures that mock will build unique chroots for
each build, useful for automation environments where autospec is run in
parallel.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
Allow users to specify requires that are not dropped during existence
detection and os-packages list checking.
Signed-off-by: Matthew Johnson <matthew.johnson@intel.com>
Added a setup.py for packaging. This will install the .py files as autospec
library in dist-packages. Because of the way the imports are currently done, autospec.py
is installed in dist-packages dir. The rpm packaging should create a symlink to this file at
/usr/bin/autospec.py