Skip to content

install perl modules to perl vendor dir (namespaced) #387

@AdamWill

Description

@AdamWill

os-autoinst installs its perl modules to pkglibexecdir. There doesn't seem to be any very good reason for this, and it plays havoc with Fedora's auto-provides and auto-requires; the package winds up both providing and requiring all this stuff:

perl(autotest)
perl(backend::baseclass)
perl(backend::console_proxy)
perl(backend::driver)
perl(backend::ipmi)
perl(backend::qemu)
perl(backend::s390x)
perl(backend::svirt)
perl(basetest)
perl(bmwqemu)
perl(commands)
perl(consoles::VNC) = 0.40
perl(consoles::console)
perl(consoles::localXvnc)
perl(consoles::remoteVnc)
perl(consoles::s3270)
perl(consoles::sshVirtsh)
perl(consoles::sshX3270)
perl(consoles::sshXtermVt)
perl(consoles::ttyConsole)
perl(consoles::vnc_base)
perl(cv)
perl(distribution)
perl(lockapi)
perl(mmapi)
perl(needle)
perl(ocr)
perl(testapi)
perl(tinycv) = 1.0
perl(tinycv::Image)

but it doesn't really provide any of those things, because other perl code couldn't find them in the standard way. Filtering out the provides is relatively easy (you can tell the auto-provides code not to generate provides from files in a given path), but filtering the auto-requires is much harder, I'd have to do it with a huge, fragile regex. I don't really want to turn off auto-requires entirely because, well, auto-requires are kinda good.

Shouldn't os-autoinst just install its perl bits to, well, the perl vendor dir, in the standard fashion? Is there any good reason not to? That would remove the need for the somewhat icky futzing about with @inc in iso2video, as well. Obviously, it'd make sense to 'namespace' all the modules, prefixing them with OpenQA:: I guess.

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