How to modify YaST .ycp Module?

So, I am working on a legacy codebasse and the Installer GUI seems to be written in .ycp. Given the limited number of documentation on the lanaguage. I have been trying my best.

There is a yast module called gutils.ycp , which has the RunProcDlg function. I want to modify the above function for my usage, but I can’t. I have tried the following:

  1. Removing import of module “./gutils.ycp” and just copy pasting the function inside “gutils.ycp” to my desired module with my modified implementation inside “RunProcDlg” (Doesn’t work).

  2. Trying to change the name of module “RunProcDlgModified” (Doesn’t work).

and whole lot of other things. Worst part is there is not stack trace to know where and what I am doing wrong. Hopefully some veterans could help who are still writing this langauge.

Documentation

https://yast-core.readthedocs.io/en/latest/README/

https://yastgithubio.readthedocs.io/en/latest/architecture/#some-notes-about-the-yast-communication-protocol-ycp

https://doc.opensuse.org/projects/YaST/openSUSE11.3/tdg/id_ycp_data_types.html

Hi! Thanks for the reply had already went through that and the following:

https://tr.opensuse.org/YaST_Module_Tutorial

https://en.opensuse.org/Category:YaST

There is no specifics about the language “.ycp” itself and any mentions of simple concepts like function overriding and other stuff. Also, there is no stack trace itself which is a huge problem to debug.

EDIT: Oh, sorry saw the second and third links going through them now. Thanks

YaST was migrated to Ruby long ago. You could try asking on yast-devel mailing list, may be someone could assist in converting old module (IIRC YaST developers first created tools to automate translation).

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.