OS/2, eCS & ArcaOS - Technical > Programming

Creating a RPM package for PMDLL

<< < (4/6) > >>

Martin Iturbide:
Thanks for the suggestion.


--- Quote from: Lars on September 30, 2020, 09:31:30 am ---
--- Quote from: Lars on September 29, 2020, 06:36:30 pm ---Try:


--- Code: ---%wps_object_create_begin
PMDLL_EXE:WPProgram|PMDLL|<WP_DESKTOP>|EXENAME=((%{_bindir}/PMDLL.EXE));ASSOCTYPE=Executable,Dynamic Link Library;ASSOCFILTER=*.EXE,*.DLL|R
%wps_object_create_end

--- End code ---

--- End quote ---

By the way: you can only set the ASSOCTYPE's that actually exists. On my system, "Executable" exists but not "Dynamic Link Library". Check your XWorkplace Workplace Shell Object.
In the end, the "lengthy" string that you specify as the 4.parameter (where parameters are separated by |) follows the setup strings as described in the "Workplace Shell Programming Reference"

--- End quote ---

What is the "|R" at the end?

By the way, on ArcaOS I have a "Dynamic Link Library" on WPS and it even seems to assign ok the Association.  (Check attached picture)

I changed the "%wps_object_create_begin", but I still get a freeze on the WPS-OBJECT.EXE file and the desktop gets locked when I install the rpm package.

Regards

Lars:
1) go to directory \var\cache\rpm\wps\packages and check if you find a file for your package (PMDLL). Have a look at the contained file and check if the string resolves to what you expect it to be
2) try to do a "dry" run of wps-object.exe:
   a) change to directory \usr\lib\rpm\pc
   b) invoke: wps-object.exe /create pmdll "PMDLL_EXE:WPProgram|PMDLL|<WP_DESKTOP>|EXENAME=((%{_bindir}/PMDLL.EXE));ASSOCTYPE=Executable,Dynamic Link Library;ASSOCFILTER=*.EXE,*.DLL;|R"

That should create the desktop icon. Of couse, since the path does not properly resolve, it will not work. But that will let you check if wps-object.exe runs unobstructed. If the latter fails then you know you have a problem with your WPS. If it succeeds, it means you have a problem somewhere else in your spec file or a broken RPM installation that possibly fails in resolving the %{_bindir} variable.

The "R" stands for "replace" in contrast to "U" which stands for "update". Since "update" is the default, you do not need to specify it.

All of this is explained here:http://trac.netlabs.org/rpm/changeset/91

That will also show you that wps-object.exe really is just a simple REXX script that has been compiled into an executable (via the REXX2EXE tool from Veit Kannegieser).

Lars


Martin Iturbide:
Hi

--- Quote from: Lars on October 07, 2020, 09:13:36 am ---1) go to directory \var\cache\rpm\wps\packages and check if you find a file for your package (PMDLL). Have a look at the contained file and check if the string resolves to what you expect it to be

--- End quote ---
I didn't find any folder related to PMDLL.



--- Quote from: Lars on October 07, 2020, 09:13:36 am ---2) try to do a "dry" run of wps-object.exe:
   a) change to directory \usr\lib\rpm\pc
   b) invoke: wps-object.exe /create pmdll "PMDLL_EXE:WPProgram|PMDLL|<WP_DESKTOP>|EXENAME=((%{_bindir}/PMDLL.EXE));ASSOCTYPE=Executable,Dynamic Link Library;ASSOCFILTER=*.EXE,*.DLL;|R"

--- End quote ---
It worked very fast to create a WPS Object on the desktop and it didn't hang.

But now I have a problem with YUM and RPM. Now everytime I try to run YUM I get a error that says it is locked. (Check Screenshot)

Any it to unlock YUM is welcome.

Regards

ivan:
Have you used something like Task Buster to check what is attached to the PID displayed?  It might give you some idea of what is going on as well as allowing the possibility of killing it.,

EDIT to attach Task Buster in zip format.

Dave Yeo:
Yum probably crashed and left its PID file behind and now that it sees it, thinks it is already running. Try deleting the PID file.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version