code-webis-cmd issueshttps://git.webis.de/code-generic/code-webis-cmd/-/issues2017-07-29T19:39:26Zhttps://git.webis.de/code-generic/code-webis-cmd/-/issues/6Portfreigabe2017-07-29T19:39:26ZMartin HeinrichPortfreigabeänder Pillar Data on webis16 für einen Host (oder über Umweg ins Git mit Automatischem Pull auf webis16)
(ufw, oder iptables)änder Pillar Data on webis16 für einen Host (oder über Umweg ins Git mit Automatischem Pull auf webis16)
(ufw, oder iptables)https://git.webis.de/code-generic/code-webis-cmd/-/issues/5inventory list2017-07-29T19:39:27ZMartin Heinrichinventory listwebis workstations inventory listwebis workstations inventory listhttps://git.webis.de/code-generic/code-webis-cmd/-/issues/4Shell Completition2017-11-08T14:16:51ZMartin HeinrichShell CompletitionBash, ZSH, Shell Completion.
Argparse [pip argcomplete](http://stackoverflow.com/questions/14597466/custom-tab-completion-in-python-argparse)?Bash, ZSH, Shell Completion.
Argparse [pip argcomplete](http://stackoverflow.com/questions/14597466/custom-tab-completion-in-python-argparse)?https://git.webis.de/code-generic/code-webis-cmd/-/issues/3Start | List | Stop Downtime2017-07-29T19:39:27ZMartin HeinrichStart | List | Stop Downtimecheck_mk - start downtime
datum, länge, kommentar
(wenn betaweb, dann auch betamng)check_mk - start downtime
datum, länge, kommentar
(wenn betaweb, dann auch betamng)https://git.webis.de/code-generic/code-webis-cmd/-/issues/1`betamng virtualscreen` accesses files inside the repository2017-07-29T19:39:27ZMichael Völske`betamng virtualscreen` accesses files inside the repositoryThe `betamng virtualscreen` command writes to a file inside the repository to set up the java-webstart application for console redirection. When the webis command is installed system wide, the repository folder is only writable by root, ...The `betamng virtualscreen` command writes to a file inside the repository to set up the java-webstart application for console redirection. When the webis command is installed system wide, the repository folder is only writable by root, hence normal users won't be able to use this command without sudo.
Proposed solution: don't modify files in the repository, instead write to a temporary file elsewhere.Michael VölskeMichael Völskehttps://git.webis.de/code-generic/code-webis-cmd/-/issues/12probably regression: `git/clone-groups` doesn't create group directories2019-11-04T09:33:04ZMichael Völskeprobably regression: `git/clone-groups` doesn't create group directoriesRepro: call `webis git clone-groups` and select a group that doesn't previously exist locally. Fails with
```
fatal: could not create leading directories of 'email-discourse/nntp-archiver': Permission denied
```Repro: call `webis git clone-groups` and select a group that doesn't previously exist locally. Fails with
```
fatal: could not create leading directories of 'email-discourse/nntp-archiver': Permission denied
```https://git.webis.de/code-generic/code-webis-cmd/-/issues/18tmp directory in home2020-09-10T13:27:34ZWolfgang Kircheistmp directory in homeWhile running webis cvs update, webis command informed me that the tmp directory was missing from my home directory (not ~/tmp). Updating only worked after I manually created said directory.
![Screenshot_2020-09-10_13-46-23](/uploads/e49...While running webis cvs update, webis command informed me that the tmp directory was missing from my home directory (not ~/tmp). Updating only worked after I manually created said directory.
![Screenshot_2020-09-10_13-46-23](/uploads/e4900571c04b3e298f73f3897e99865a/Screenshot_2020-09-10_13-46-23.png)https://git.webis.de/code-generic/code-webis-cmd/-/issues/21webis cmd Windows support2021-04-26T06:37:26ZFerdinand Schlattwebis cmd Windows supportInstallation using WSL or cygwin does work, however using the webis cvs update command does not work, prior to checking out CVS using eclipse. Most likely this has to do with conflicting windows and linux line endings. I will investigate...Installation using WSL or cygwin does work, however using the webis cvs update command does not work, prior to checking out CVS using eclipse. Most likely this has to do with conflicting windows and linux line endings. I will investigate the issue further and report here.https://git.webis.de/code-generic/code-webis-cmd/-/issues/23reformat-bib should also replace key-value entries that use quotes (author = ...2021-03-07T07:58:05ZMartin Potthastmartin.potthast@uni-weimar.dereformat-bib should also replace key-value entries that use quotes (author = "...") with curly braces (author = {...}).https://git.webis.de/code-generic/code-webis-cmd/-/issues/24webis help2023-05-01T20:05:04ZJohannes Kieseljohannes.kiesel@uni-weimar.dewebis helpJust to be sure @roce3528, @poma1006, you image something like this for `webis help`, yes?
```
The Webis command
-----------------------------------------------------------------------------
Usage: webis archiveuser all [OPTIONS]
Uti...Just to be sure @roce3528, @poma1006, you image something like this for `webis help`, yes?
```
The Webis command
-----------------------------------------------------------------------------
Usage: webis archiveuser all [OPTIONS]
Utility Tool to archive all user accounts on a standard webis machine
based on https://www.cyberciti.biz/faq/howto-move-migrate-user-accounts-old-to-new-server/
Author: Kai Lorenz
Last update 07.03.2019
Options:
-h, --help Show this message and exit.
-----------------------------------------------------------------------------
Usage: webis archiveuser singleuser [OPTIONS]
Utility Tool to archive a single user account on a standard webis machine.
based on https://www.cyberciti.biz/faq/howto-move-migrate-user-accounts-old-to-new-server/
Author: Kai Lorenz
Last update 24.02.2019
Options:
-h, --help Show this message and exit.
-----------------------------------------------------------------------------
Usage: webis betamng activate-vnc-all [OPTIONS]
Activate vnc on all nodes of the hostlist
Copyright 2014-today www.webis.de
Author: Steve Göring
Options:
-h, --help Show this message and exit.
-----------------------------------------------------------------------------
```https://git.webis.de/code-generic/code-webis-cmd/-/issues/26webis util login not working2021-05-18T13:44:29ZJohannes Kieseljohannes.kiesel@uni-weimar.dewebis util login not working`webis util login` does no longer work. It seems to first look in getent passwd, which does not produce the names that it then looks for with finger.
@fmiv8532 suggested changing the script to query Gitlab instead. I think we all agree ...`webis util login` does no longer work. It seems to first look in getent passwd, which does not produce the names that it then looks for with finger.
@fmiv8532 suggested changing the script to query Gitlab instead. I think we all agree that this is a good idea.
Synopsis: `webis util <login>`
Produces the real name and mail address for that login.
Wei-Fan volunteered to do this.Wei-Fan ChenWei-Fan Chenhttps://git.webis.de/code-generic/code-webis-cmd/-/issues/28Cryptic error message when mounting Ceph2023-09-16T07:44:29ZJan Heinrich Reimerheinrich.reimer@uni-jena.deCryptic error message when mounting CephMounting Ceph via the Webis command in general gives great, readable error messages. (Kudos for that! :tada:)
But if the mount point is then set up correctly, the error message gets a bit cryptic:
```
mount: /mnt/ceph/storage: mount(2) ...Mounting Ceph via the Webis command in general gives great, readable error messages. (Kudos for that! :tada:)
But if the mount point is then set up correctly, the error message gets a bit cryptic:
```
mount: /mnt/ceph/storage: mount(2) system call failed: No such process.
```
The issue in this case was that I didn't have the `ceph-common` package installed on my machine.
Maybe we could have a more precise error message or at least link to the [Ceph usage notes](https://git.webis.de/code-generic/code-admin-knowledge-base/blob/master/services/ceph/cephfs-usage.md) if mounting fails for whatever reason.Jan Heinrich Reimerheinrich.reimer@uni-jena.deJan Heinrich Reimerheinrich.reimer@uni-jena.de2023-11-15https://git.webis.de/code-generic/code-webis-cmd/-/issues/31synchronizing executable in bin breaks command2021-08-23T13:37:19ZJohannes Kieseljohannes.kiesel@uni-weimar.desynchronizing executable in bin breaks commandThe installation of `webis` breaks if:
- One installs the command into a directory that one synchronizes (by CVS) to multiple machines
- The `webis.py` gets an update, which CVS then pushes to the repository and the other machines pull f...The installation of `webis` breaks if:
- One installs the command into a directory that one synchronizes (by CVS) to multiple machines
- The `webis.py` gets an update, which CVS then pushes to the repository and the other machines pull from CVS, overwriting the link with a file with identical contents
The reason is that
```
export WEBIS_CMD_ROOT_PATH="$(dirname "$(realpath "$0")")"
```
Evaluates to different directories depending on whether it is a link or a file (with identical contents).
Possible solutions:
- This is a very special problem that need not be accounted for. If people want to synchronize their bin directory (Benno), they may need a special solution here that knows where the original bin lies (a shell script that just executes the webis.py, passing on all arguments). Or they need to re-install the command every time the main python file gets updated (happens very rarely).
Other thoughts?https://git.webis.de/code-generic/code-webis-cmd/-/issues/32After first-time installation, the command fails due to a missing package2022-04-11T09:57:34ZMartin Potthastmartin.potthast@uni-weimar.deAfter first-time installation, the command fails due to a missing package```
$ webis
Traceback (most recent call last):
File "/usr/local/bin/webis", line 113, in <module>
main()
File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/us...```
$ webis
Traceback (most recent call last):
File "/usr/local/bin/webis", line 113, in <module>
main()
File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__
return self.main(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main
rv = self.invoke(ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 1114, in invoke
return Command.invoke(self, ctx)
File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke
return callback(*args, **kwargs)
File "/usr/lib/python3/dist-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/bin/webis", line 108, in main
click.echo('\n' + ctx.get_help(), color=ctx.color)
File "/usr/lib/python3/dist-packages/click/core.py", line 516, in get_help
return self.command.get_help(self)
File "/usr/lib/python3/dist-packages/click/core.py", line 879, in get_help
self.format_help(ctx, formatter)
File "/usr/lib/python3/dist-packages/click/core.py", line 898, in format_help
self.format_options(ctx, formatter)
File "/usr/lib/python3/dist-packages/click/core.py", line 1017, in format_options
self.format_commands(ctx, formatter)
File "/usr/lib/python3/dist-packages/click/core.py", line 1062, in format_commands
cmd = self.get_command(ctx, subcommand)
File "/home/poma1006/webis-cmd/libs/lib.py", line 275, in get_command
cmd = importlib.import_module(mod_name, self.base_module)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 848, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/poma1006/webis-cmd/tools/dns.py", line 7, in <module>
from godaddypy import Client, Account
ModuleNotFoundError: No module named 'godaddypy'
```https://git.webis.de/code-generic/code-webis-cmd/-/issues/33fatal: unsafe repository ('/usr/local/share/webis-cmd' is owned by someone else)2022-04-14T12:38:14ZErik Körnerfatal: unsafe repository ('/usr/local/share/webis-cmd' is owned by someone else)I have the `webis` command installed globally. And I'm using it in WSL2 (which should not matter, I hope)
The message started to appear starting today, when opening a new shell or when calling `webis`. I might have updated some package...I have the `webis` command installed globally. And I'm using it in WSL2 (which should not matter, I hope)
The message started to appear starting today, when opening a new shell or when calling `webis`. I might have updated some packages yesterday but not sure which ones.
```bash
fatal: unsafe repository ('/usr/local/share/webis-cmd' is owned by someone else)
To add an exception for this directory, call:
git config --global --add safe.directory /usr/local/share/webis-cmd
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
```
```bash
$ ll /usr/local/share/webis-cmd
total 68
drwxr-xr-x 6 root root 4096 Oct 4 2021 ./
drwxr-xr-x 8 root root 4096 Feb 16 2021 ../
drwxr-xr-x 8 root root 4096 Apr 11 16:34 .git/
-rw-r--r-- 1 root root 107 Feb 16 2021 .gitignore
-rw-r--r-- 1 root root 13971 Feb 16 2021 README.md
-rw-r--r-- 1 root root 11140 Jul 9 2021 cheatsheet.txt
drwxr-xr-x 3 root root 4096 Jan 25 19:38 libs/
-rw-r--r-- 1 root root 86 Jul 21 2021 requirements.txt
-rw-r--r-- 1 root root 651 Jul 21 2021 setup.py
drwxr-xr-x 17 root root 4096 Oct 4 2021 tools/
drwxr-xr-x 2 root root 4096 Feb 16 2021 web-views/
-rwxr-xr-x 1 root root 3537 Oct 4 2021 webis.py*
$ ll /usr/local/bin/webis
lrwxrwxrwx 1 root root 35 Feb 16 2021 /usr/local/bin/webis -> /usr/local/share/webis-cmd/webis.py*
```
Note, might be something to add to the installation/upgrade to suppress automatically?
Just calling the suggested command will quieten this warning.https://git.webis.de/code-generic/code-webis-cmd/-/issues/34webis cvs X2023-05-01T15:05:43ZJohannes Kieseljohannes.kiesel@uni-weimar.dewebis cvs XI see our new people struggling with graphical CVS clients, which are also dropping out of support. However, the CVS command line is fine, just takes a bit to get used to and is missing convenient shortcuts. We should be able to make it ...I see our new people struggling with graphical CVS clients, which are also dropping out of support. However, the CVS command line is fine, just takes a bit to get used to and is missing convenient shortcuts. We should be able to make it work for webis with a small number of scripts.
(included some comments from [Martin](#note_12733))
Existing command:
- webis cvs update
- webis cvs status
- webis cvs onboard [--login LOGIN] NAME FULLNAME
Needed:
- webis cvs checkout [REPOSITORY]
- webis cvs add FILE...
- webis cvs commit [FILE...]
- webis cvs rm FILE...
- webis cvs mv SOURCE DEST
- webis cvs reset (or revert? a replace with latest from head)
Specifications:
- "add" should consider the .cvsignore
- I need to check again how CVS decides whether a file is committed binary or as text; I think there is a setting per file-suffix on the server (that the Eclipse-plugin always ignored); probably we need a flag to add something as binary
- "add" and "rm" work recursively, and ask for approval
- "commit" should also remove files if they are deleted locally
- "rm" should not delete the local files
- "mv" should remove files, delete them locally, and add and commit them anew
Also, "update" should not automatically update in case of conflicts: as @poma1006 said: "the user must be asked whether to skip, merge, or override and commit, override and update, or backup local copy and update (backing up the local copy should be the default, regardless) and in case merge is selected, meld is automatically invoked. In case the file is binary, merging is not an option, of course, and that should be said."
Ping @mike4537Johannes Kieseljohannes.kiesel@uni-weimar.deJohannes Kieseljohannes.kiesel@uni-weimar.dehttps://git.webis.de/code-generic/code-webis-cmd/-/issues/37webis cvs2 pull not working with renamed directory2023-05-22T13:31:36ZWolfgang Kircheiswebis cvs2 pull not working with renamed directoryRenamed remote repo directories are causing webis cvs2 pull to fail (Linux Mint 20):
```
kircheis@temir26:~/Work/cvs/research-in-progress$ webis cvs2 pull
Enter passphrase for key '/home/kircheis/.ssh/id_rsa':
Fetching updates:
rem...Renamed remote repo directories are causing webis cvs2 pull to fail (Linux Mint 20):
```
kircheis@temir26:~/Work/cvs/research-in-progress$ webis cvs2 pull
Enter passphrase for key '/home/kircheis/.ssh/id_rsa':
Fetching updates:
removed: computational-social-science/SCIM-23-springer-journal-issi-extended-version/scim23-organization
Traceback (most recent call last):
File "/home/kircheis/.local/bin/webis", line 8, in <module>
sys.exit(main())
File "/home/kircheis/.local/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/home/kircheis/.local/lib/python3.8/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/home/kircheis/.local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/kircheis/.local/lib/python3.8/site-packages/webis_cmd/tools/cvs2.py", line 22, in invoke
super().invoke(ctx)
File "/home/kircheis/.local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/kircheis/.local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/kircheis/.local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/kircheis/.local/lib/python3.8/site-packages/webis_cmd/tools/cvs2.py", line 225, in pull
_clean_up_invalid_cvs_dir_entries(removed_dirs)
File "/home/kircheis/.local/lib/python3.8/site-packages/webis_cmd/tools/cvs2.py", line 174, in _clean_up_invalid_cvs_dir_entries
os.rename(l[2:-4], l[2:-4] + b'#deleted')
FileNotFoundError: [Errno 2] No such file or directory: b'scim23-organization' -> b'scim23-organization#deleted'
```https://git.webis.de/code-generic/code-webis-cmd/-/issues/39Migrate to standard pip installation2023-09-16T08:12:59ZJan Heinrich Reimerheinrich.reimer@uni-jena.deMigrate to standard pip installationI've got the feeling that many installation issues could very easily be resolved by just publishing the webis-cmd as a standard Python package on PyPI, such that it can simply be installed by runnning `pip install --user webis-cmd` or `p...I've got the feeling that many installation issues could very easily be resolved by just publishing the webis-cmd as a standard Python package on PyPI, such that it can simply be installed by runnning `pip install --user webis-cmd` or `pipx install webis-cmd` (whatever you prefer).
As a proof of concept, I have created a [`pyproject` branch](https://git.webis.de/code-generic/code-webis-cmd/-/tree/pyproject?ref_type=heads) where I would remove as much of the build dependencies as possible.
It should already be possible to build a Python wheel that way, that can be pushed to PyPI.
If you agree, I would now start with pushing the current version to PyPI and then build some CI around it so that the latest version is always automatically pushed to PyPI.Jan Heinrich Reimerheinrich.reimer@uni-jena.deJan Heinrich Reimerheinrich.reimer@uni-jena.de