Skip to content

Incorrect installation from AUR #386

Description

@GrimAnEye

Hello!
I'm using Manjaro and installing the molecule-plugins package from the AUR - molecule-plugins:

Details
# Maintainer: Célestin Matte aur [at] ploudseeker dot com
# Contributor (former maintainer): David Runge <dvzrv@archlinux.org>

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:
Details
./
├── 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:
Details
./
├── 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:

[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

Details
./
├── 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions