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
Delete usr/share/rear/build/USB/default/800_enforce_usb_output.sh #3103
Conversation
Remove build/USB/default/800_enforce_usb_output.sh see #1571 (comment) and #1571 (comment) Furthermore this script reads "# Added by udev workflow" but it does its stuff in any case for USB regardless of the workflow so this script looks utterly broken.
@jsmeix this is to be used by the udev workflow, triggered from etc/udev/rules.d/62-rear-usb.rules . Shouldn't the whole udev workflow be removed, if we can't test it? |
the udev rules in rpm spec have been disabled in 24d57b8 |
FYI #840 #838 #2180 From my personal point of view |
RHEL has never been using the udev workflow (the udev rules have not been shipped in our RPM). |
Also SUSE has never supported the udev workflow. In particular there is no '62-rear-usb.rules' file shipped
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general I share your feelings about this code, it looks horribly broken and doesn't cover a lot of what ReaR can do nowadays (e.g. multiple additional configs).
At first I was surprised why it is run whatsoever, but then I understood that we run $BACKUP
and $OUTPUT
and even $OUTPUT/$BACKUP
files in every stage.
So looking at USB
I find these scripts:
Removing one of them seems a bit risky, I'd rather prefer to add an Error
here that calls back to this issue and makes people talk to us.
Yes, this is also a breaking change, but it comes with a clear call to action whereas just removing this file could be a breaking change that will leave users confused. If nobody ever comes back then we can remove it with a very clear conscience 😄
What do you think about this approach?
As a thought for the future I won't be surprised if the udev
workflow will also benefit from the ability to specify multiple $OUTPUT
methods. Or maybe we have to adjust the udev
workflow to add a custom ReaR config that sets OUTPUT=USB
.
@schlomo I agree that it would be better to first inform the user. But here I don't see how I could properly inform the user. I also don't know under which conditions that script It is neither about that $BACKUP and $OUTPUT and It is about WHY build/USB/default/800_enforce_usb_output.sh |
@jsmeix I was referring to rear/usr/share/rear/lib/framework-functions.sh Lines 110 to 114 in e0609c7
Fun fact, this script I did some more thinking about this issue and I would like to propose a different approach: Insert an It would hit only if this script would do something. I know, breaking stuff is bad but it seems to me that this is the only way how we can force feedback from users of this code. If, OTOH, everybody else wants to just remove it, then please go ahead. Worst case, somebody will come and complain why we broke ReaR and why it took them 3 days to figure out why. |
BACKUP=USB is not supported and
so in practice build/USB/default/800_enforce_usb_output.sh |
Overhauled build/USB/default/800_enforce_usb_output.sh Now BugError when OUTPUT=USB got somehow modified $ROOTFS_DIR/etc/rear/local.conf plus explanatory comments. Triggered by #3103 and replacing this by a new pull request.
This one is superseded by |
Overhauled build/USB/default/800_enforce_usb_output.sh Now LogPrintError infos and BugError when OUTPUT=USB got somehow modified in $ROOTFS_DIR/etc/rear/local.conf plus explanatory comments in the code. Triggered by #3103 and replacing this by a new pull request.
@jsmeix regarding the udev output, I found this: https://github.com/rear/rear/blob/master/doc/user-guide/04-scenarios.adoc#using-relax-and-recover-with-usb-storage-devices
but no further explanation. I suppose this whole point should be deleted. |
In doc/user-guide/04-scenarios.adoc removed parts that mention 'udev' from the section about USB devices, cf. #3103 (comment) and also removed some other parts there which are outdated, could be misleading, or are questionable or discursive to make the text simpler and more to the point
Via |
In doc/user-guide/04-scenarios.adoc removed parts that mention 'udev' from the section about USB devices, cf. rear#3103 (comment) and also removed some other parts there which are outdated, could be misleading, or are questionable or discursive to make the text simpler and more to the point
In doc/user-guide/04-scenarios.adoc removed parts that mention 'udev' from the section about USB devices, cf. rear#3103 (comment) and also removed some other parts there which are outdated, could be misleading, or are questionable or discursive to make the text simpler and more to the point
Type: Cleanup
Impact: Unknown
Reference to related issue (URL):
OUTPUT_URL=null conflicts with OUTPUT=USB but ReaR does not error out appropriately #1571 (comment)
OUTPUT_URL=null conflicts with OUTPUT=USB but ReaR does not error out appropriately #1571 (comment)
How was this pull request tested?
Impossible to test because it is unknown what that script should do.
Description of the changes in this pull request:
Remove
build/USB/default/800_enforce_usb_output.sh
see
#1571 (comment)
and
#1571 (comment)
Furthermore this script reads
but it does its stuff in any case for USB
regardless of the workflow
so this script looks utterly broken.
According to
this script originated (as 80_enforce_usb_output.sh) in
4ec9ed4
which only tells
but it neither explains WHY that is needed
nor does it implement what it tells
because the script is run in any case for OUTPUT=USB
regardless whether or not the udev workflow is used.
So as far as I understand it:
This script is run in any case for OUTPUT=USB
and then (i.e. when there is OUTPUT=USB in local.conf)
it "enforces" OUTPUT=USB in ROOTFS_DIR/.../local.conf
but how could OUTPUT in ROOTFS_DIR/.../local.conf
differ from OUTPUT in local.conf?