Replies: 4 comments 3 replies
-
|
That doesn't look bad; however, I don't know whether there are enough users to make this additional effort worthwhile. I haven't received any feedback yet that the installation didn't work under Linux. To be precise, I haven't received any feedback at all that indicates serious use of novelibre. Once you have the launcher on your desktop under Linux, all you have to do is run a self-extracting Python archive for each update. Does this cause a problem? In order to avoid using a multitude of different packagers (there are also rpm, appimage, windows-exe, etc.), I built novelibre so that it has no dependencies (other than Python and tkinter) that would need to be handled during package installation. I can even install novelibre on Windows 11 directly from my browser when I download it. I also provide an update checker plugin that makes downloading and installing new versions really easy, regardless of the operating system. I want to keep the operating system-independent publication as long as there are no real problems with it. But if someone wants to create, publish, and maintain a distribution-specific installation package, go ahead! |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for your response. It does work, but the process is a bit cumbersome in my opinion. People are used to a simple double-click install process, if the app is not available in the repository or on Flathub. Having it packaged as .deb would make the install process quick and simple. It would also make it much easier to popularize novelibre and cause much more people to use it. Especially if it was added at some point to deb-get. I think that the .deb format is generally the best to use, because Debian based distros, among them *buntus and Mint, are the most popular so it would be targeting the largest demographic. Of course it is an additional work to be done. I have never done this, so I cannot help, but it would be nice to have it at some point. |
Beta Was this translation helpful? Give feedback.
-
|
I took a quick look at how such a deb package is built. Basically, it's no more complicated than the package I developed myself. The main difference is that my pyz format works the same on every operating system. Just as .deb needs dpkg to run, .pyz needs the Python interpreter. I assume that dpkg respectively a package manager frontend set above it requires administrator rights. This allows setting up the program on the desktop right away and saves a step. That's what makes the actual difference for the user. It may also be possible to take the dependency on python3-tk into account with a .deb or .rpm package. To be OS-independent, novelibre is not installed in the |
Beta Was this translation helpful? Give feedback.
-
Recommendations for setting up a package repositoryAnyone who wants to maintain packages in .deb format or other package formats should create a dedicated repository for this purpose. This single repository should then contain all packages for the application and its plugins. The simplest solution would then be to have the package as a wrapper around the .pyz archive I'm providing. The package's installation script would then simply call the system's Python3 interpreter with the .pyz file as an argument. Before doing so, it could install the tk support package for the respective Linux distribution if necessary. If possible, it should also be ensured that the system's standard Python interpreter is at least version 3.7. Then, create an application launcher on the desktop as described in the manual. Additionally, the installation script could register the .novx file type as If the package is to contain an uninstall script, in the simplest case this would delete the installation directory Maintaining the repository involves keeping all packages up to date and consistent. To do this, you could register the application and plugin repositories and access their version information. The best way to see how this works is to look at my nv_updater plugin as an example. # Retrieve the download URL, major version number, minor version number,
# and patch level of novelibre or a plugin located at repoUrl.
import configparser
from urllib.request import urlopen
versionUrl = f'{repoUrl}/raw/main/VERSION'
data = urlopen(versionUrl)
versionInfo = data.read().decode('utf-8')
config = configparser.ConfigParser()
config.read_string(versionInfo)
downloadUrl = config['LATEST']['download_link']
version = config['LATEST']['version']
majorVersion, minorVersion, patchlevel = version.split('.') |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
Have you considered providing a .deb package? It would make installation on Debian based distros straightforward and easy.
Possibly it cold also make it viable to add novelibre to deb-get:
https://github.com/wimpysworld/deb-get
Beta Was this translation helpful? Give feedback.
All reactions