Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ideas for recipes similar to pkg2appimage #9

Open
probonopd opened this issue Mar 8, 2020 · 21 comments
Open

Ideas for recipes similar to pkg2appimage #9

probonopd opened this issue Mar 8, 2020 · 21 comments
Labels
enhancement New feature or request

Comments

@probonopd
Copy link

Maybe this can be reused?
https://github.com/PhoenicisOrg/scripts

@probonopd
Copy link
Author

probonopd commented Mar 8, 2020

Or Crossover CrossTie files like this:
https://www.codeweavers.com/bin/c4p/14101

They seem to exist for a lot of Windows applications:
https://www.codeweavers.com/compatibility

@sudo-give-me-coffee
Copy link
Owner

Good! But, reusing, I need to implement all the mechanisms behind them, and it is very complicated, I like the pkg2appimage format and it is relatively easy to implement with the new structure, but to use this approach it will be necessary to write all the recipes, fortunately exist a considerably database of application with a simple language (PoL, see tis example)

@sudo-give-me-coffee sudo-give-me-coffee added the enhancement New feature or request label Mar 9, 2020
@sudo-give-me-coffee sudo-give-me-coffee moved this from To do to Done in Script mechanism Mar 9, 2020
@sudo-give-me-coffee sudo-give-me-coffee moved this from To do to Done in Script mechanism Mar 9, 2020
@sudo-give-me-coffee sudo-give-me-coffee moved this from Done to To do in Script mechanism Mar 9, 2020
@sudo-give-me-coffee
Copy link
Owner

sudo-give-me-coffee commented Mar 9, 2020

I'm using the following structure as reference:

app: My App
app_full_name: My_App.x.y.z
icon: icon.png
category: Utility
executable: "C:/Program Files/example/app.exe"
keep_registry: false

flags:
  - flag1
  - flag2

ingredients: 
  download:
    - https://www.example.com/example.exe
    - https://www.example.com/icon.png
    - https://www.example.com/example.zip
    - https://www.example.com/example-portable.7z
preparation:
  winetricks:
    - resource 1
    - resource 2
  extract:
    - example.zip
  install:
    - example.exe
  install-compressed:
    - example-portable.7z "C:/test"
  remove:
    - C:/test/how-to-install.txt

@sudo-give-me-coffee
Copy link
Owner

At the end of build the script will create a "dist" version of recipe with the list of unneeded files

@sudo-give-me-coffee
Copy link
Owner

I've added initial support for recipes 97a586b:

Wine-*-x86_64.AppImage --recipe file.yml

@probonopd
Copy link
Author

Looking forward to the first recipe to test this with. Well done, keep it up 👍

@sudo-give-me-coffee sudo-give-me-coffee moved this from To do to In progress in Script mechanism Mar 9, 2020
@sudo-give-me-coffee sudo-give-me-coffee moved this from In progress to To do in Script mechanism Mar 9, 2020
@sudo-give-me-coffee sudo-give-me-coffee moved this from To do to In progress in Script mechanism Mar 10, 2020
@sudo-give-me-coffee
Copy link
Owner

I wrote 3 recipes in 5f8fb80

@probonopd
Copy link
Author

probonopd commented Mar 10, 2020

Do you know why https://github.com/sudo-give-me-coffee/win32-appimage/releases/tag/continuous still says "January"?

@probonopd
Copy link
Author

Woo-hoo! It works! It works!!! 👍
Awesome.

(Still running into some minor issues but I guess they will be ironed out quickly.)

@probonopd
Copy link
Author

Namely,

/tmp/.mount_Wine-4L6Fsn7/AppRun: line 16: [: too many arguments
(...)
wine: configuration in L"/home/me/VisualG3/prefix" has been updated.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.

@probonopd
Copy link
Author

It would be nice if it would download the recipe if it is not yet there, kinda like how pkg2appimage does it.

@sudo-give-me-coffee
Copy link
Owner

Do you know why https://github.com/sudo-give-me-coffee/win32-appimage/releases/tag/continuous still says "January"?

I have no idea why 😕

/tmp/.mount_Wine-4L6Fsn7/AppRun: line 16: [: too many arguments

Fixed in fbb73d7

wine: configuration in L"/home/me/VisualG3/prefix" has been updated.

This is a normal Wine message

regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found.
regedit: The file '' was not found

It is not fixable by me, it seems to be a Wine bug, with side by echo's the echos is called only a single time, but regedit is called 7 times, owthever is safe ignore them

@sudo-give-me-coffee
Copy link
Owner

It would be nice if it would download the recipe if it is not yet there, kinda like how pkg2appimage does it.

I will implement them, but i need 2 things first:

  1. Make AppRun less verbose
  2. Add support for silent install

Probably tomorrow I will finish them, and will start implement this

@sudo-give-me-coffee sudo-give-me-coffee moved this from In progress to Done in Script mechanism Mar 11, 2020
@sudo-give-me-coffee
Copy link
Owner

I'm created a separate recipes repository at https://github.com/sudo-give-me-coffee/wine_recipes

@sudo-give-me-coffee
Copy link
Owner

@probonopd implemented on d8047c0 thanks for the suggestions

@probonopd
Copy link
Author

Thank you @sudo-give-me-coffee. You are doing really amazing work here. It's so exciting to see this happen. Do you hang out on IRC?

@probonopd
Copy link
Author

As a "stress test" for your yml format, would you be able to e.g., port over (ideally automatically) something like https://www.codeweavers.com/bin/c4p/14101?

@sudo-give-me-coffee
Copy link
Owner

sudo-give-me-coffee commented Mar 14, 2020

Theoretically yes, but in practice no, CrossOver isn't fully compatible with traditional wine. Somethings are different and breaks "traditional" bottles, for example, in automatic conversion, is needed install:

    <app appid="com.codeweavers.c4.15248" timestamp="2017-05-11T14:44:50-05:00">
      <cxversion product="cxoffice">16.2</cxversion>
      <name>Microsoft XML Parser (MSXML) 6.0 SP2</name>
      <name lang="en">Microsoft XML Parser (MSXML) 6.0 SP2</name>
      <appprofile>
        <description>&lt;p&gt;Update for MSXML Core Services 6.0 Service Pack 2 (KB973686). Install this update to prevent applications from sending too many HTTP requests while a well-known Document Type Definition (DTD) is included.&lt;/p&gt;</description>
        <description lang="en">&lt;p&gt;Update for MSXML Core Services 6.0 Service Pack 2 (KB973686). Install this update to prevent applications from sending too many HTTP requests while a well-known Document Type Definition (DTD) is included.&lt;/p&gt;</description>
        <comment>20170509 - Set dll override to native and remove existing Wine dll so it doesn't block MS installer. -Balfs
20170426 - Initial creation. Needs Win2000 bottle to install, set that bottle type override in Install profile. -Balfs</comment>
        <medal rating="4" platform="Linux" version="16.2.0" num="1" last="2017-04-26T11:06:05-05:00">unsilver</medal>
        <medal rating="4" platform="Mac" version="16.2.0" num="1" last="2017-04-26T11:06:00-05:00">unsilver</medal>
        <medal rating="1" platform="Linux" version="19.0.1" num="1" last="2020-03-02T12:08:25-06:00">knownnottowork</medal>
        <category>Non-Applications/Components/Service Packs</category>
        <flag>component</flag>
        <installedkeypattern>{56EA8BC0-3751-4B93-BC9D-6651CC36E5AA}</installedkeypattern>
        <bottletemplate>win2000</bottletemplate>
        <downloadurl>https://download.microsoft.com/download/1/5/8/158F681A-E595-472B-B15E-62B649B1B6FF/msxml6-KB973686-enu-x86.exe</downloadurl>
        <downloadpageurl>https://www.microsoft.com/en-us/download/details.aspx?id=9774</downloadpageurl>
        <downloadglob>msxml6-KB973686-enu-x86.exe</downloadglob>
      </appprofile>
      <installprofile>
        <installerwinver>win2000</installerwinver>
        <prermfakedll>msxml6.dll</prermfakedll>
        <preinstallregistry>
          <key>HKEY_CURRENT_USER\Software\Wine\DllOverrides</key>
          <value>
            <name>msxml6</name>
            <data>native, builtin</data>
          </value>
        </preinstallregistry>
        <skipmenu>true</skipmenu>
      </installprofile>
    </app>

But installing it makes MS Office crashes when loading .*x files if do this. Another things is missing such as C2R32.dll and AppvIsvSubsystems32.dll, they need to be copied from C:/Program Files/Common Files/Microsoft Shared/ClickToRun/ to C:\Program Files\Microsoft Office but isn't present on .tie


These things makes an automated conversion from .tie to .yml (or even read .tie directly) inviable

@sudo-give-me-coffee
Copy link
Owner

You are doing really amazing work here.

Thanks a lot

Do you hang out on IRC?

Currently no

@probonopd
Copy link
Author

Did you know https://github.com/winepak/?

They also have yml files, e.g, https://github.com/winepak/applications/blob/master/com.worldoftanks.Client/com.worldoftanks.Client.yml

Maybe one could collaborate?

@probonopd
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

2 participants