ansible-community / ansible-community/molecule-plugins
Incorrect installation from AUR
- Dominant language
- Python
- Stars
- 164
- Forks
- 113
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 1
Description
Hello!
I'm using Manjaro and installing the molecule-plugins package from the AUR - [molecule-plugins](https://aur.archlinux.org/packages/molecule-plugins):
```bash
# Maintainer: Célestin Matte aur [at] ploudseeker dot com
# Contributor (former maintainer): David Runge
pkgname=molecule-plugins
pkgver=26.7.15
pkgrel=1
pkgdesc="Collection of molecule plugins"
arch=(any)
url="https://github.com/ansible-community/molecule-plugins"
license=(MIT)
depends=(
molecule
python
python-boto3 # for ec2 driver
python-cryptography # for ec2 driver
python-jinja # for vagrant driver
python-packaging # required for podman driver
)
makedepends=(
python-build
python-installer
python-setuptools
python-setuptools-scm
python-wheel
)
optdepends=(
'ansible-core: for vagrant driver and validating docker and podman playbooks'
'python-ansible-compat: for podman driver'
'python-docker: for Docker support'
'python-google-auth: for GCE playbooks'
'python-google-api-python-client: for GCE playbooks'
'python-pycryptodome: for GCE playbooks'
'python-requests: for Docker support'
'python-selinux: for SELinux and Docker support'
'python-vagrant: for vagrant module'
)
conflicts=(
molecule-containers
molecule-docker
molecule-podman
molecule-vagrant
)
replaces=(
molecule-containers
molecule-docker
molecule-podman
molecule-vagrant
)
source=(
$url/archive/v$pkgver/$pkgname-v$pkgver.tar.gz
)
sha512sums=('3ee6741f4621f3b5d571aa9c655968e447d26a1805a5e5bc0e27bd0301a0b3980a2594cd3299e900512e44864081efdda8349096d7e8e2cec1302bc9184a6826')
b2sums=('95c3aa2fe07e026bbb9bab962d92cdd052abdf57461770b9d615f2712926bbfe0d49df056be78062954854054d5f04a1e2169b23cd2f800661a5601f2cf82ae3')
build() {
export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
cd $pkgname-$pkgver
python -m build --wheel --no-isolation
}
package() {
cd $pkgname-$pkgver
python -m installer --destdir="$pkgdir" dist/*.whl
install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/"
install -vDm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname/"
install -vDm 644 doc/ec2/*.rst -t "$pkgdir/usr/share/doc/$pkgname/ec2"
install -vDm 644 doc/vagrant/*.rst -t "$pkgdir/usr/share/doc/$pkgname/vagrant"
}
```
After installation, I discovered that only half of the required files are in the directories. Original package files:
```bash
./
├── azure
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ ├── converge.yml
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ └── INSTALL.rst
│ ├── driver.py
│ └── __init__.py
├── containers
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ └── __init__.py
├── docker
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── Dockerfile.j2
│ │ ├── filter_plugins
│ │ │ └── get_docker_networks.py
│ │ ├── tasks
│ │ │ ├── create_network.yml
│ │ │ └── delete_network.yml
│ │ └── validate-dockerfile.yml
│ └── schema
│ └── driver.json
├── ec2
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ ├── converge.yml
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── INSTALL.rst
│ │ └── prepare.yml
│ ├── driver.py
│ └── __init__.py
├── gce
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ └── playbooks
│ ├── create.yml
│ ├── destroy.yml
│ ├── files
│ │ └── windows_auth.py
│ ├── handlers
│ │ └── main.yml
│ └── tasks
│ ├── create_linux_instance.yml
│ └── create_windows_instance.yml
├── __init__.py
├── openstack
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ └── playbooks
│ ├── create.yml
│ ├── destroy.yml
│ ├── prepare.yml
│ └── tasks
│ ├── server_addr.yml
│ └── vars.yml
├── podman
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── Dockerfile.j2
│ │ └── validate-dockerfile.yml
│ └── schema
│ └── driver.json
├── py.typed
└── vagrant
├── cookiecutter
│ ├── cookiecutter.json
│ └── {{cookiecutter.molecule_directory}}
│ └── {{cookiecutter.scenario_name}}
│ ├── converge.yml
│ └── INSTALL.rst
├── driver.py
├── __init__.py
├── modules
│ ├── __init__.py
│ └── vagrant.py
└── playbooks
├── create.yml
├── destroy.yml
└── prepare.yml
```
Actual on disk:
```bash
./
├── azure
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── containers
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── docker
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ └── filter_plugins
│ │ ├── get_docker_networks.py
│ │ └── __pycache__
│ │ ├── get_docker_networks.cpython-314.opt-1.pyc
│ │ └── get_docker_networks.cpython-314.pyc
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── ec2
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── gce
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ └── files
│ │ ├── __pycache__
│ │ │ ├── windows_auth.cpython-314.opt-1.pyc
│ │ │ └── windows_auth.cpython-314.pyc
│ │ └── windows_auth.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── __init__.py
├── openstack
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── podman
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── __pycache__
│ ├── __init__.cpython-314.opt-1.pyc
│ ├── __init__.cpython-314.pyc
│ ├── _version.cpython-314.opt-1.pyc
│ └── _version.cpython-314.pyc
├── py.typed
├── vagrant
│ ├── driver.py
│ ├── __init__.py
│ ├── modules
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-314.opt-1.pyc
│ │ │ ├── __init__.cpython-314.pyc
│ │ │ ├── vagrant.cpython-314.opt-1.pyc
│ │ │ └── vagrant.cpython-314.pyc
│ │ └── vagrant.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
└── _version.py
```
Using AI, I analyzed the results, and it suggested updating the `pyproject.toml` file by adding the following section:
```Toml
[tool.setuptools.package-data]
molecule_plugins = [
"**/*.yml",
"**/*.j2",
"**/*.json",
"**/*.rst",
"**/*.py",
"py.typed",
]
```
After adding the specified section, the plugins began to install and work correctly
```bash
./
├── azure
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ ├── converge.yml
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ └── INSTALL.rst
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── containers
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── docker
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── Dockerfile.j2
│ │ ├── filter_plugins
│ │ │ ├── get_docker_networks.py
│ │ │ └── __pycache__
│ │ │ ├── get_docker_networks.cpython-314.opt-1.pyc
│ │ │ └── get_docker_networks.cpython-314.pyc
│ │ ├── tasks
│ │ │ ├── create_network.yml
│ │ │ └── delete_network.yml
│ │ └── validate-dockerfile.yml
│ ├── __pycache__
│ │ ├── driver.cpython-314.opt-1.pyc
│ │ ├── driver.cpython-314.pyc
│ │ ├── __init__.cpython-314.opt-1.pyc
│ │ └── __init__.cpython-314.pyc
│ └── schema
│ └── driver.json
├── ec2
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ ├── converge.yml
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── INSTALL.rst
│ │ └── prepare.yml
│ ├── driver.py
│ ├── __init__.py
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── gce
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── files
│ │ │ ├── __pycache__
│ │ │ │ ├── windows_auth.cpython-314.opt-1.pyc
│ │ │ │ └── windows_auth.cpython-314.pyc
│ │ │ └── windows_auth.py
│ │ ├── handlers
│ │ │ └── main.yml
│ │ └── tasks
│ │ ├── create_linux_instance.yml
│ │ └── create_windows_instance.yml
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── __init__.py
├── openstack
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── prepare.yml
│ │ └── tasks
│ │ ├── server_addr.yml
│ │ └── vars.yml
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
├── podman
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ └── converge.yml
│ ├── driver.py
│ ├── __init__.py
│ ├── playbooks
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ ├── Dockerfile.j2
│ │ └── validate-dockerfile.yml
│ ├── __pycache__
│ │ ├── driver.cpython-314.opt-1.pyc
│ │ ├── driver.cpython-314.pyc
│ │ ├── __init__.cpython-314.opt-1.pyc
│ │ └── __init__.cpython-314.pyc
│ └── schema
│ └── driver.json
├── __pycache__
│ ├── __init__.cpython-314.opt-1.pyc
│ ├── __init__.cpython-314.pyc
│ ├── _version.cpython-314.opt-1.pyc
│ └── _version.cpython-314.pyc
├── py.typed
├── vagrant
│ ├── cookiecutter
│ │ ├── cookiecutter.json
│ │ └── {{cookiecutter.molecule_directory}}
│ │ └── {{cookiecutter.scenario_name}}
│ │ ├── converge.yml
│ │ └── INSTALL.rst
│ ├── driver.py
│ ├── __init__.py
│ ├── modules
│ │ ├── __init__.py
│ │ ├── __pycache__
│ │ │ ├── __init__.cpython-314.opt-1.pyc
│ │ │ ├── __init__.cpython-314.pyc
│ │ │ ├── vagrant.cpython-314.opt-1.pyc
│ │ │ └── vagrant.cpython-314.pyc
│ │ └── vagrant.py
│ ├── playbooks
│ │ ├── create.yml
│ │ ├── destroy.yml
│ │ └── prepare.yml
│ └── __pycache__
│ ├── driver.cpython-314.opt-1.pyc
│ ├── driver.cpython-314.pyc
│ ├── __init__.cpython-314.opt-1.pyc
│ └── __init__.cpython-314.pyc
└── _version.py
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Inspect pyproject.toml and the package contents produced by the existing python -m build --wheel --no-isolation command. Compare the wheel or installed package with the source tree's cookiecutter, playbook, schema, and documentation files. Done means a clean AUR-style build installs the required non-Python resources for every plugin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 84/100