Code Monkey home page Code Monkey logo

tablo-tools-electron's Introduction

Publish



Tablo Tools allows you to Bulk Export and Delete recordings from your Tablo as well as minimally (sans guide) watch Live TV.

Hi!

You likely want to head on over to the main site for install instructions, documentation and videos to get started wrangling your Tablo.


If you're interested in the code and/or contributing, Welcome and I hope this helps...


Development

What This Is

The obvious:

  • Cross-platform GUI Win/Mac/Linux
  • Export easily put all of my recordings elsewhere
  • Delete please go away quickly

And then doing other fun, weird, and/or hopefully useful things with/for/to a Tablo.

Parts and Pieces

At its simplest, this is a web app being distributed with a modified browser. If you're familiar with React/Vue/etc, this is mostly nothing new.

Electon React Boilerplate (< v1, flow, not typescript) was the base, thus this is a React+Redux+Node app.

Aside from that, the two main cogs are ffmpeg nedb/nedb-async (document database) and tablo-api-js.

Setup

Something like this should work...

 (clone this repo via git or https)
$ git clone [email protected]:jessedp/tablo-tools-electron.git
$ yarn install
$ yarn dev

Packaging

If you get this far, we've probably already talked - but this isn't going to work out of the box because of the Sentry.io integrations.

To package apps for the local platform:

$ yarn package-linux
$ yarn package-win
$ yarn package-mac

To package apps for all platforms:

First, refer to the Multi Platform Build docs for dependencies.

Then,

$ yarn package-all
  - or -
$ yarn package-linux
$ yarn pacakge-win

To run End-to-End Test

$ yarn build-e2e
$ yarn test-e2e

# Running e2e tests in a minimized window
$ START_MINIMIZED=true yarn build-e2e
$ yarn test-e2e

💡 You can debug your production build with devtools by simply setting the DEBUG_PROD env variable:

DEBUG_PROD=true yarn package

CSS Modules

This boilerplate is configured to use css-modules out of the box.

All .css file extensions will use css-modules unless it has .global.css.

If you need global styles, stylesheets with .global.css will not go through the css-modules loader. e.g. app.global.css

If you want to import global css libraries (like bootstrap), you can just write the following code in .global.css:

@import '~bootstrap/dist/css/bootstrap.css';

SASS support

If you want to use Sass in your app, you only need to import .sass files instead of .css once:

import './app.global.scss';

Static Type Checking

This project comes with Flow support out of the box! You can annotate your code with types, get Flow errors as ESLint errors, and get type errors during runtime during development. Types are completely optional.

Dispatching redux actions from main process

See #118 and #108

MIT © Electron React Boilerplate and kinda me

tablo-tools-electron's People

Contributors

alexandremoore avatar dependabot[bot] avatar jessedp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tablo-tools-electron's Issues

Default data for Templates

Build in default Airing Type records for use in mocking up naming templates so they can be edited/created before recordings of that type are available.

Bonus make them usable as test fixtures and, uh, test something.

Allow using a Template when Bulk Exporting

Is your feature request related to a problem? Please describe.
From the forum, it's a pain to individually change file names and error prone to change the default.

Describe the solution you'd like
Allow selecting a Naming Template to be used when performing a Bulk Export.

Can't play an episode twice on same screen

Describe the bug
A clear and concise description of what the bug is.

from the forums

When I play an episode from within the Search list of episodes and then X click out of it to watch another, if I go back to that previously partially played episode and press play the episode will not play. Can’t go back and play the second one I clicked out of, and so on.

Allow entering a custom name on Export

Is your feature request related to a problem? Please describe.

In the event of a segmented recording, you want/need each piece. Past experience, overlooked a previous "bad" recording, so if I exported another copy renamed - one might be full length other not... or both could be good and I only need one.

Describe the solution you'd like

Allow entering a custom name on Export

Vague notification settings

Describe the bug
A clear and concise description of what the bug is.
v0.1.9 introduced

This is optional and can be turned off
ADD: Popup when a new version is loaded showing what changed (like where you're likely reading this)
ADD: Preference popup so new stuff isn't forced down people's throats

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...' Settings
  2. Click on '....' General
  3. Scroll down to '....'

[] Enable automatic updates?
On Linux and Windows, try to automatically download and install new releases. Regardless of this setting, a notification will appear when a new release is available (or based on your choice below).

[] Show notification of pre-releases (beta, alpha, etc)?
Notifications will always be shown for full/normal releases that everyone will want. Windows and Linux will auto-update...

  1. See error

Preference popup so new stuff isn't forced down people's throats

Expected behavior
A clear and concise description of what you expected to happen.

That implies I can disable this. The settings suggest there's not way to stop things.

Screenshots
If applicable, add screenshots to help explain your problem.

When I launched a new installation, it would show "what changed" I haven't modified those settings and it's no longer showing. Is being "notified" being informed of "what changed"?

Environment:

  • OS: [e.g. Win 10] Debian 11 Bullseyes
  • App Version from the Home screen [e.g.0.2.1-beta.1 ] v0.2.2-beta.3

Additional context
Add any other context about the problem here.

It's great that you want to keep your user up to date. You should have some disclaimer, or clear notice that tablo-tools has some form "phone-home" function. There's some communication with a "3rd party" checking for version updates without user intervention --- this is NOT optional. Contraindication to "so new stuff isn't forced down people's throats"

Prevent Recording descriptions from scrolling over controls

Is your feature request related to a problem? Please describe.
When clicking the "scroll" to view a Recording's description, the popup description doesn't close until clicked again.

Describe the solution you'd like
Close the descriptions automatically somehow. On mouseOut if possible. Maybe a timer. Maybe the next one closes previous ones.

.deb minor annoyances

It's awesome you provide "ready to run" files (so much of github is do-it-yourself, not user friendly) I suspect there's some automation involved to get so many platforms generated, maybe not.

I use the .deb running Debian 11 Bullseye - the menu icon tapblo.png is put into /usr/share/icons/hicolor/0x0 It's the only thing there... and it's not found, on my system anyhow. Not being a developer, I can't say exactly, generally I find a "jumping off point" /usr/share/icons/hicolor/scalable ( sometimes /usr/share/pixmaps ) but what do I know... there's not been an icon in the menu for several revisions.

The sub menu, Programming ...instead of Sound & Video ?? Sometimes I'd edit the .desktop file [/usr/share/applications/tablo-tools.desktop] and add AudioVideo;Video; to the Categories list leaving Development in place, so it shows up in a more practical place... from my (aka user) perspective.

If I copy the png to the scalable folder, unless it ever gets changed, I'll be done with it. I can make the .desktop name slightly different so it will never get overwritten during an upgrade.

It may be contributed to electron - electron-userland/electron-builder#3609
I've done some superficial searching "/usr/share/icons/hicolor/0x0" snap, appimage and gtk-update-icon-cache not recognizing it.

maybe when you get around to polishing 0.9.9 you can look into it, there's not impact on function as long as they can find it in the menus

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Your Environment

  • App version -
  • Last 4 of Tablo ServerID -
  • Tablo Firmware version -
  • Operating System and version -

Make VersionInfo support Markdown

I already use Markdown in Release notes and then display them in the app. Make them look correct by supporting Markdown inside the app.

0.1.10-beta.2 = white screen

tablo-tools_0.1.10-beta.2_amd64.deb goes back to the white-screen-of-death I clicked the build and review... but it just thanked me. So I retried and just click upload and hoped for the best.

Useless "go back" button

Describe the bug
From the forums

To Reproduce
Close the app with selected page open (at least)

Expected behavior
Something useful happens or is displayed

Running as a service / automatic exports

Not an issue, rather a feature request and/or a question. Do you plan to add option to run Tablo Tools as a service in the background?

Expected Behavior

Having the ability to run Tablo Tools in the background as a service. Specifically to allow automatic export of new recordings. This can be a schedule where the episode catalog is refreshed on a specified interval, if new recording is detected it is exported and optionally deleted from Tablo.

This would help everyone who doesn't have a huge storage attached to Tablo but rather uses a NAS to store media.

Another feature that goes hand in hand with automatic exporting is notifications. Not to waste to much of your time developing something like this, it should be more than enough to just have a pre and post export hooks. Ability to call a script and passing on a couple of arguments, like the recording name and exported file path. That would allow lot of flexibility if some wants to post-process the file, like move it to a different folder or extract closed captions...

Current Behavior

Recording exports require manual action by a person.

Possible Solution

Ideally (my personal preference), Tablo Tools "service" would run as a docker container instead of systemd service. Not sure if AppImage supports running as a service. Generally, docker is gaining a lot of popularity in recent years, but especially in cord cutting community.

If you are interested in something like this, I might be able to provide some help in creating a docker conainer.

Steps to Reproduce (for bugs)

N/A

Your Environment

N/A

Recordings wont load

Expected Behavior

Current Behavior

Program not loading recordings. I click the LOAD button, it goes up to 100%, stays there for awhile, but never loads any recordings. I uninstalled the program and reinstalled, still same issue. Deleted everything in the C:\Users\dmote75\AppData\Local\tablo-tools-updater folder.
When Opening up program for first time after reinstalling, it already has my Tablo listed, I don't have to click on the DISCOVER button.

Possible Solution

Steps to Reproduce (for bugs)

Your Environment

  • App version - 0.2.4
  • Last 4 of Tablo ServerID - CA06
  • Tablo Firmware version - 2.2.30
  • Operating System and version - Win10 latest update

Device State/backup restore

There doesn't appear to be a facility to respond or comment to a card in the backlog Feature Ideas

Expected Behavior

You may already be aware of this, there's a project - https://github.com/rchavers/backup-tablo https://community.tablotv.com/t/backup-tablo-sh-backup-all-recorded-shows-from-a-tablo/21267
which "inadvertently" backups tablos DB - used when migrating to a new device. He uses lftp, have have not been able to navigate to it, but the script does back it up. If this may be something similar to what you have in mind, it might be helpful.

Current Behavior

Add "don't overwrite" option for Exports

Also suggest renaming option. In the event of a segmented recording, you want/need each piece. Past experience, overlooked a previous "bad" recording, so if I exported another copy renamed - one might be full length other not... or both could be good and I only need one.

Possible Solution

Steps to Reproduce (for bugs)

Your Environment

  • App version -
  • Last 4 of Tablo ServerID -
  • Tablo Firmware version -
  • Operating System and version -

Faulty Successful exports

Describe the bug
From the forums, when running exports (maybe for a while?) they speed fluctuates (normal) and sometimes seems to stall before reporting completed even though the file was not actually fully exported (but was playable?)

To Reproduce
Nothing exact.

Obviously exports. Multiple concurrent ones. Start up a bunch of Tablo viewers.

Expected behavior
Report failed when this happens. Certainly don't Delete the Tablo recording after that happens.

Template Changes should affect items enqueued elsewhere

Describe the bug
For example, when changing a template, going back to export previously selected records doesn't reflect the new template.

To Reproduce
Steps to reproduce the behavior:

  1. Select some Recordings
  2. Edit or change the default template
  3. Go to Bulk Export
  4. Recordings will reflect Template before changes

Expected behavior
The selected Recordings update

DB build stats

Describe the solution you'd like
Keep track of db builds for

  • time-series stats
  • warn about too low auto-rebuild

Show something useful when not connected to the internet

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Be offline
  2. Open the app
  3. See error: A white page

Expected behavior
A clear and concise description of what went wrong, e.g., "You need to connect to the internet in order to use this application."

Screenshots

Environment:

  • OS: Ubuntu xenial
  • App Version: Latest AppImage as of today

Additional context
AppImage/appimage.github.io#2053

Fix Saved Search management

  • Take the broken shell and make sure we have CRUD functionality
  • make sure we have slugs
  • make the modal add/edit + list of all for CRUD

Multiple tablo devices causes confusion

Have 2 tablo devices. clicking discover tablo generally picks tablo1, subsequent clicks are a hitNmiss between tablo1 and tablo2 which I can then refresh DB for which ever is chosen.

I can, via settings, override IP and decide which I want. But just to see what would happen, I'm still able to click discover... which allows me to flub things up. (just checking for "idiot proofing" :) )

Prerequisites

  • [ no ] Using yarn
  • [tablo-tools_0.1.6_amd64.deb ] Using an up-to-date master branch
  • [ no ] Using latest version of devtools. See wiki for howto update
  • Link to stacktrace in a Gist (for bugs)
  • [ na ] For issue in production release, devtools output of DEBUG_PROD=true yarn build && yarn start
  • [ na ] Tried solutions mentioned in #400

Expected Behavior

should discover just the same tablo each time, or give you the option. if you check override IP you shouldn't be able to discover

Current Behavior

see begining

Possible Solution

attached getipinfo (edited personal) to gain insight -- hassle attaching, so pasted to end of comment.

Steps to Reproduce (for bugs)

probably need multiple devices to reproduce

Context

Minimally affected. Basic use

huh?

Your Environment

  • Node version : ?
  • Version or Branch used : ?
  • Operating System and version : Debian 11 Bullseye aka testing

| mate-desktop 1.24.0

  • Link to your project :
{"cpes": [{"http": 21480, "public_ip": "XXX.XXX.XXX.XXX", "ssl": 0, "host": "gii", "private_ip": "192.168.0.11", "slip": 21481, "serverid": "SID_000000000000", "inserted": "2018-10-21 17:38:51.322600+00:00", "server_version": "2.2.26rc1910517", "name": "tablo1", "modified": "2020-04-19 12:52:37.470924+00:00", "roku": 0, "board": "gii", "last_seen": "2020-04-19 12:52:37.468440+00:00"}, {"http": 21900, "public_ip": "XXX.XXXX.XXX", "ssl": 0, "host": "gii", "private_ip": "192.168.0.21", "slip": 21901, "serverid": "SID_000000000000", "inserted": "2019-10-24 22:52:32.579047+00:00", "server_version": "2.2.26rc1910518", "name": "tablo2", "modified": "2020-04-19 12:46:42.450780+00:00", "roku": 0, "board": "gii", "last_seen": "2020-04-19 12:46:42.448431+00:00"}], "success": true}

Commerical Skip export

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
problem, shows have commercials
Describe the solution you'd like
A clear and concise description of what you want to happen.
no commercials
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
option to export "processed" playlist - plv3.m3u8 vs plv3cc.m3u8 or the "standard" streaming pls.m3u8 with a &cc appended to the end.
Additional context
This worked several months ago. This is all I know, in concept it worked. There needs more development. I don't currently subscribe to Premium Service. The web app never had a beta test period, so I only found a way in which gave me days to trial this. After updates and time, this may not even be possible.

Add Export Controls

Kind of a superset of Naming (#45) and will be necessary for the CLI project.

Allow defaults for export:

  • On Exist:
    • Overwrite Y/N
    • Skip
    • Write New with:
      • Incrementing Number
      • object_id
  • Default Format
    • more than mp4?
    • sizes?
  • Default Naming
  • More?

enhancment - update DB against "time of day"

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
there''s a setting option:
Enable automatically rebuilding local database?
Occurs every 0 hours and 31 minutes behind the scenes
Describe the solution you'd like
A clear and concise description of what you want to happen.
If I start tablo-tools at 15 minutes past an hour, it won't update until 14 til the next hour. Theoretically a show may have finished at 30 after the hour... and I would know it for another 15/16 minutes.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Refresh initially upon startup, then top of the hour + 1 minute and again at 31 after as these are "usual" start/stop time for programs.
Additional context
Add any other context or screenshots about the feature request here.
If someone has tablo-tools working/running full-time, it should use logical update times not arbitrary

incomplete blanks window

Prerequisites

  • Using yarn
  • [X ] Using an up-to-date master branch
  • Using latest version of devtools. See wiki for howto update
  • Link to stacktrace in a Gist (for bugs)
  • For issue in production release, devtools output of DEBUG_PROD=true yarn build && yarn start
  • Tried solutions mentioned in #400

Expected Behavior

Change view based on filter selection

Current Behavior

When I click on the incomplete button in the browse tab, the entire window goes blank. I haven't found a way to recover. I delete the entire ~/.config/tablo-tools to "reset" and start over.
incoplete

Possible Solution

Steps to Reproduce (for bugs)

  1. effortlessly click the button

  2. click through the menu trying to get something to "work"

  3. close program - delete config directory

  4. start over

Context

Your Environment

  • Node version :
  • Version or Branch used : the software doesn't appear to display a version
  • Operating System and version : Debian Bullseye
  • Link to your project :

I just found your project - BEAUTIFUL! I haven't fully used it, just looking through it... looks awesome! except for the above issue - does it allow for multiple devices?

Tablo Tools v0.3.0-beta.1 export fatal error :( ENOENT

Describe the bug
A clear and concise description of what the bug is.
exported yesterday with 0.2.4 without issue. Upgraded to 0.3.0-beta.1 export log ends with
[info] An error occurred: Error: spawn /bin/linux/x64/ffmpeg ENOENT
To Reproduce
Steps to reproduce the behavior:

  1. Go to '...' export a show
  2. Click on '....' export
  3. Scroll down to '....'
  4. See error
[2020-07-31 18:51:21.786] [info] start processVideo 2020-07-31T22:51:21.786Z
[2020-07-31 18:51:21.787] [info] env production
[2020-07-31 18:51:21.787] [info] ffmpegPath /bin/linux/x64/ffmpeg
[2020-07-31 18:51:21.787] [info] resourcePath /opt/TabloTools/resources
[2020-07-31 18:51:21.787] [info] prodPath /opt/TabloTools/resources
[2020-07-31 18:51:21.787] [info] after "app" replacements for dev /bin/linux/x64/ffmpeg
[2020-07-31 18:51:21.788] [info] prodPath exists true
[2020-07-31 18:51:21.788] [info] PROD setting ffmpegPathReal to psuedoProdPath - change resource to full path? /opt/TabloTools/resources
[2020-07-31 18:51:21.788] [info] 1| psuedoProdPath /opt/TabloTools/resources ffmpegPathReal /bin/linux/x64/ffmpeg
[2020-07-31 18:51:21.788] [info] 2| psuedoProdPath /opt/TabloTools/resources ffmpegPathReal /bin/linux/x64/ffmpeg
[2020-07-31 18:51:21.788] [info] PROD replaced prodPath for prod /bin/linux/x64/ffmpeg
[2020-07-31 18:51:21.788] [info] ffmpegPathReal : /bin/linux/x64/ffmpeg
[2020-07-31 18:51:21.895] [info] exporting to path: /media/dvr/BattlestarGalactica
[2020-07-31 18:51:21.896] [info] exporting to file: /media/dvr/BattlestarGalactica/BattlestarGalactica-s01e12-KobolsLastGleamingPart1.mp4
[2020-07-31 18:51:21.914] [info] An error occurred: Error: spawn /bin/linux/x64/ffmpeg ENOENT

Expected behavior
A clear and concise description of what you expected to happen.
a log excerpt from 0.2.4

[2020-07-30 19:11:05.898] [info] start processVideo 2020-07-30T23:11:05.898Z
[2020-07-30 19:11:05.908] [info] env production
[2020-07-30 19:11:05.909] [info] ffmpegPath /bin/linux/x64/ffmpeg
[2020-07-30 19:11:05.909] [info] resourcePath /opt/TabloTools/resources
[2020-07-30 19:11:05.909] [info] prodPath /opt/TabloTools/resources
[2020-07-30 19:11:05.909] [info] after "app" replacements for dev /bin/linux/x64/ffmpeg
[2020-07-30 19:11:05.910] [info] prodPath exists true
[2020-07-30 19:11:05.910] [info] PROD replacing ffmpegPathReal for prodPath /opt/TabloTools/resources
[2020-07-30 19:11:05.910] [info] PROD replaced prodPath for prod /opt/TabloTools/resources/node_modules/ffmpeg-static-electron-jdp/bin/linux/x64/ffmpeg
[2020-07-30 19:11:05.911] [info] ffmpegPathReal : /opt/TabloTools/resources/node_modules/ffmpeg-static-electron-jdp/bin/linux/x64/ffmpeg
[2020-07-30 19:11:06.018] [info] exporting to path: /media/dvr/tv-shows
[2020-07-30 19:11:06.019] [info] exporting to file: /media/dvr/tv-shows/United We Fall - s01e04.mp4
[2020-07-30 19:11:06.138] [info] Stderr output: ffmpeg version 4.2.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers

Screenshots
If applicable, add screenshots to help explain your problem.

Environment:

  • OS: [e.g. Win 10] Debian Bullseye
  • App Version from the Home screen [e.g.0.2.1-beta.1 ] Kernel Linux 5.7.0-1-amd64 x86_64

Additional context
Add any other context about the problem here.

I went back and tried to re-export the one that worked yesterday - not anymore.

ffmpeg is in /opt/TabloTools/resources/node_modules/ffmpeg-static-electron-jdp/bin/linux/x64

dj@M6800:/opt/TabloTools/resources/node_modules/ffmpeg-static-electron-jdp/bin/linux/x64$ ./ffmpeg -version
ffmpeg version 4.2.1-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516

Update "Details" display

Is your feature request related to a problem? Please describe.
Turn the details display into button+modal with better layout of current info plus addition of raw JSON data.

Useless "go back

Describe the bug
A clear and concise description of what the bug is.
From the forums

To Reproduce
Close the app with selected page open at least (?)

Expected behavior
Something useful happens or is displayed

file version naming downgrades in linux label:Documentation

Describe the bug
A clear and concise description of what the bug is.

This is screwy and more FYI for anyone encountering this. When installing a "release" after a "beta" apt package manager warns of a downgrade. Of course it's not, so I proceed, ignoring warning since I believe I knew what I was doing and suspected why I got the message.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...' sudo apt install ./tablo-tools_0.2.3-beta.2_amd64.deb
  2. Click on '....' sudo apt install ./tablo-tools_0.2.3_amd64.deb
  3. Scroll down to '....'
  4. See error "warning: downgrading tablo-tools from 0.2.3-beta.2 to 0.2.3"

Expected behavior
A clear and concise description of what you expected to happen.

no pointless warnings.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment:

  • OS: [e.g. Win 10] Debian
  • App Version from the Home screen [e.g.0.2.1-beta.1 ]

Additional context
Add any other context about the problem here.

I don't see it being necessary to change your naming convention. I tried to confirm this answer, I found some technical gobbledygook some sensible stuff I could follow. In the end, the way the version is parsed, the - and apha characters are last, but that leave the 1 (beta version) Using some advanced comparing "stuff" the ~ replacing the - makes all the difference. Just for information....

dj@htpc:~/Downloads$ sudo dpkg --compare-versions 0.2.3-beta.2 gt 0.2.3 || echo no
dj@htpc:~/Downloads$ sudo dpkg --compare-versions 0.2.3~beta.2 gt 0.2.3 || echo no
no

dj@htpc:~/Downloads$ sudo dpkg --compare-versions 0.2.3-beta.2 gt 0.2.3 && echo no
no
dj@htpc:~/Downloads$ sudo dpkg --compare-versions 0.2.3~beta.2 gt 0.2.3 && echo no
dj@htpc:~/Downloads$ 

note: gt > greater than comparison. || execute "this" if false or fails && execute "this" if true (the second example responds no, because I should have changed echo yes for illustrative purposes)
I got that from here... First this starts the discussion, then on the the man[ual] page for some explanation
https://askubuntu.com/questions/169936/how-to-compare-two-package-version-numbers
https://manpages.debian.org/testing/dpkg/dpkg.1.en.html ( find --compare-versions)

Some exhaustive explanation about ~ in package versions
https://unix.stackexchange.com/questions/230911/what-is-the-meaning-of-the-tilde-in-some-debian-openjdk-package-version-string

Here's Debian's technical doc about package versions naming/numbering, as used in the control file in the .deb
https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-version

Admiringly I'm on medical leave from work, so yea I had too much time. Again, I just wanted an FYI in the event some day someone comes along and wonders why they're downgrading their installation. It's benign and at this point it unlikely any need to change what already makes sense aka humane readable.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.