Commit Graph

165 Commits

Author SHA1 Message Date
Aidan Gibson
6cb200a50b Fix RAID 2024-03-24 19:11:54 -07:00
Pascal Jäger
b8465d14db fix spelling 2024-03-06 14:43:57 +01:00
Pascal J
0bc09317d8 Merge branch 'master' into yabsnap_info_support 2024-03-06 14:41:49 +01:00
Pascal J
94d742d1d4 Merge pull request #311 from bastien-roucaries/fix_bashism
Fix bashism
2024-03-06 14:24:44 +01:00
Pascal Jäger
363d7da3a7 fix typo uper -> upper 2024-03-06 14:23:26 +01:00
expoodo
34b54de71c removed redundant array slice 2024-02-19 15:16:26 -05:00
expoodo
d41991979e add support for yabsnap snapshots info 2024-02-18 20:24:13 -05:00
Bastien Roucariès
465b56107f Add double quote if needed 2024-01-27 17:42:06 +00:00
Bastien Roucariès
7aa227b378 Fix 41_snapshots-btrs bashish [[ ]] 2024-01-27 17:38:55 +00:00
Yaroslav Halchenko
98a5bbe8c5 [DATALAD RUNCMD] run codespell throughout fixing typo automagically
=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^
2023-12-21 19:25:13 -05:00
Pascal Jäger
9a8a1b7d50 fix #278
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2023-04-28 18:26:25 +02:00
Pascal Jäger
c6550d0d96 grub-btrfs: unquote snap variable
Fix #273

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2023-04-05 13:40:40 +02:00
Pascal Jäger
e2937f6bff grub-btrfs: update comments
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2023-03-26 19:46:23 +02:00
Pascal Jäger
ec5ff8b4bc grub-btrfs: get back the grub_btrfs_search_directory functionality
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2023-03-26 19:46:05 +02:00
Pascal Jäger
1556c345da grub-btrfs: Do root fs detection with btrfs progs
Fix: #266 #255

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2023-03-26 19:44:56 +02:00
Kevin Chevreuil - Kaisen
1d53472569 41_snapshots-btrfs: Create a bkp file. Delete the .new when no snapshots found. 2023-03-26 18:56:35 +02:00
Kevin Chevreuil - Kaisen
44c9cd16d0 Dynamic GRUB entry 2023-03-26 18:56:35 +02:00
Kevin Chevreuil - Kaisen
934a4a38e6 Force the deletion of the grub-btrfs.cfg file 2023-03-26 18:56:35 +02:00
Pascal Jäger
934ab213b0 grub-btrfs: add custom kernel parameters option for snapshots
Fix #214, #160

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-12-06 22:56:44 +01:00
Pascal Jäger
f0ed56d242 grub-btrfs: Improve variable defaults
Fix #244

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-12-06 22:55:51 +01:00
Kevin Chevreuil - Kaisen
6980771cd2 Don't display warnings when the mount command is used 2022-11-29 14:47:18 +01:00
Pascal Jäger
bfad9dcc1d grub-btrfs: Add possibility to configure where grub-btrfs.cfg is created and searched for
Closes #187

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-11-26 15:14:00 +01:00
Pascal Jäger
c9620d5d18 grub-btrfs: Change syntax error message
I noticed that this is confusing in #230, user would search for errors in
the grub-btrfs.cfg file although the old grub-btrfs.cfg file is never
overwritten with grub-btrfs.new

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-11-21 22:59:22 +01:00
Pascal Jäger
33810a9274 grub-btrfs: print version of the script with --version
Close #225

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-11-21 22:59:22 +01:00
Pascal Jäger
75f7d85261 grub-btrfs: Add warning when there is no entry in grub.cfg
Fix #219

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-11-20 22:15:48 +01:00
Pascal Jäger
b2b5307fe4 grub-btrfs: sanitize title menu entries
Closes #198

Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-11-20 21:19:45 +01:00
Pascal Jäger
4c63b65e9e grub-btrfsd: Error message when grub(-btrfs) fails
Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
2022-10-21 08:26:17 +02:00
Pascal Jäger
6280f95139 grub-btrfs: Give messages when the script exits 2022-09-02 22:57:00 +02:00
budswa
a146cd5c9d Fixed grammatical mistake in the output (#194) 2022-01-20 19:04:05 +01:00
budswa
8dbe80c0bd Fixed output to be gramatically correct (#193) 2022-01-07 12:09:18 +01:00
Antynea
ee3c366fa4 Add missing initrd (#184) 2021-11-26 02:49:37 +01:00
Antynea
4f1aa38604 Make path of "grub-mkconfig_lib" configurable (#181)
* Make path of "grub-mkconfig_lib" configurable

  * 41_snapshots-btrfs file:
    - Remove "datarootdir" variable, is no longer used
    - Replace "$datarootdir/grub/grub-mkconfig_lib" with "${GRUB_BTRFS_MKCONFIG_LIB:-/usr/share/grub/grub-mkconfig_lib}"

  * Config file:
    - Adds new GRUB_BTRFS_MKCONFIG_LIB variable
Might be '/usr/share/grub2/grub-mkconfig_lib' on some systems (Opensuse ...)
2021-11-17 19:30:34 +01:00
Antynea
1accd5e272 Make name of "grub-script-check" configurable (#177)
41_snapshots-btrfs file:
  * Remove "grub_script_check" variable

Config file;
  * Make name of "grub-script-check" configurable
    * Might be 'grub2-script-check' on some systems (Fedora ...)
2021-11-07 14:35:17 +01:00
Antynea
33ad3273d3 * trim trailing whitespace.
* snapshot_list function:
  * Rename some variables for better consistency.
  * Remove unused variables.
  * Ignore snapper/timeshift snapshot as soon as possible.
2021-11-02 17:42:28 +01:00
Antynea
9d436adf95 Reworks many things (#174)
#### Script:
* Snapper:
  - Now, the information is retrieved from the info.xml file.

* Timeshift:
  * Now, the information is retrieved from the info.json file.

* Probe informations from device:
  * Add the UUID of the root and boot subvolumes

* Show full path snapshot or only name:
  * Remove, this feature never worked correctly

* Grub-menu:
  * Now displays the following information in separate columns:
    - Date of snapshot
    - Path of snapshot
    - Type/Tags of snapshot if available (snapper/timeshift)
    - Description/Comments of snapshot if available (snapper/timeshift)
  * Possibility to display only the desired information(s) (see config file)
  *  Adds a header for the column title
  * GRUB_BTRFS_PREFIXENTRY is remove

  * Boot partition detection:
    * grub-btrfs is now able to detect if the boot folder/partition is a subvolume
    * GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION should no longer be needed for this case

  * Variables:
    * Rename some variables

  * Header:
    * Update the header to reflect the changes.

#### Config:
* GRUB_BTRFS_PREFIXENTRY:
  * Remove, no longer use

* GRUB_BTRFS_DISPLAY_PATH_SNAPSHOT:
  * Remove, no longer use

* GRUB_BTRFS_TITLE_FORMAT:
  * Shows/Hides "date" "snapshot" "type" "description" in the Grub menu, custom order available.
    Default: ("date" "snapshot" "type" "description")

* GRUB_BTRFS_IGNORE_SNAPPER_TYPE:
  * Rename to GRUB_BTRFS_IGNORE_SNAPSHOT_TYPE
    - Supports both timeshift and snapper tags/type

* GRUB_BTRFS_IGNORE_SNAPPER_DESCRIPTION:
  * Rename to GRUB_BTRFS_IGNORE_SNAPSHOT_DESCRIPTION
    - Supports both snapper and timeshift description/comments

* GRUB_BTRFS_OVERRIDE_BOOT_PARTITION_DETECTION:
  * grub-btrfs is now able to detect if the boot folder/partition is a subvolume.
  Activating this parameter should no longer be necessary for this case.

* GRUB_BTRFS_SNAPPER_CONFIG:
  * Remove, no longer use

#### Readme:
* Update "What does grub-btrfs v4.xx do" section
  * Adds support for timeshift
2021-10-25 15:47:26 +02:00
Antynea
301752f300 Update count_limit_snap arithmetic
* Update count_limit_snap arithmetic:
  * "$" isn't required in an arithmetic function
2021-10-21 16:59:08 +02:00
Antynea
3b857348cb Update wait_max arithmetic
* Update wait_max arithmetic:
  * "$" isn't required in an arithmetic function
2021-10-21 16:54:11 +02:00
Antynea
f3d8e99cb8 Update count_warning_menuentries arithmetic
* Update count_warning_menuentries arithmetic:
  * "$" isn't required in an arithmetic function
2021-10-21 16:50:51 +02:00
Antynea
af80fe7993 Comments unused variables
* Comments unused variables:
  * This "$prefix_i" and "$suffix_i" are for information purposes only, and aren't used.
2021-10-21 16:44:59 +02:00
Antynea
c7f403d2a2 Update "GRUB_BTRFS_DISABLE_PROTECTION_SUBMENU"
* Update "GRUB_BTRFS_DISABLE_PROTECTION_SUBMENU":
  * Remove default parameter (false), not needed
  * adds automatic conversion of the value to lower case
2021-10-21 16:39:17 +02:00
Antynea
e6898c0de8 Update disable_script function
* Update disable_script function:
  * A function is no longer required since the commands have been moved to the beginning of the script.
2021-10-21 16:36:12 +02:00
Antynea
a790ff054e "disable_script" function breaks "grub-mkconfig"
* "disable_script" function breaks "grub-mkconfig":
  * Replace "return 1" by "exit 0".
2021-10-07 17:31:45 +02:00
Antynea
b0408225c1 Fix bug Create entries with matching version (#170)
* Fix #169 
  * Create entries with matching version doesn't work properly:
  Adds missing "else continue;"
2021-09-26 19:05:02 +02:00
Antynea
8142691be1 Adds missing newline
* Adds missing newline:
  "\n" was missing.
2021-09-24 15:54:04 +02:00
Antynea
bab78d4ed8 Write-protect user data
* Write-protect user data
  * The script does not need write access to the data.
  Adds "ro" flags to provide protection against accidental writing.
2021-09-24 12:24:15 +02:00
Antynea
544d2e84ac Adds security if a false positive is detected
* Adds security if a false positive is detected:
  * if the command "grep -qs "$gbgmp" /proc/mounts;" returns a false positive.
  "rm -d" will return an error if the directory is not empty.
2021-09-24 12:12:43 +02:00
Antynea
b346727219 Deletes unused code
* Deletes unused code:
  * Limit generation of menuentries if exceeds 250 has never been used.
  Uses "GRUB_BTRFS_LIMIT" (default 50) instead
2021-09-23 15:28:28 +02:00
Antynea
f1ca0db36d Update header installation section
* Update header installation section:
  * Remove instructions
  (Refet to the project website, installation section)
2021-09-23 14:54:59 +02:00
Antynea
c4d0df3a97 Rework the creation of the "grub-btrfs.cfg" file.
* Rework the creation of the "grub-btrfs.cfg" file:
  * Before, the "grub-btrfs.cfg" file was deleted and then the new configuration was written.
  No backup was made.
  * Now, the new configuration will be written in a temporary file "grub-btrfs.new" and then analysed with the "grub_script_check" command before being finally written in the "grub-btrfs.cfg" file.
  If an error is detected, the "grub-btrfs.new" file will coexist with the old "grub-btrfs.cfg" file, if it exists.
2021-09-23 14:49:56 +02:00
Antynea
c1cadccd1f Adds trap command on EXIT signal
* Adds trap command on EXIT signal:
  * Now umount command will launch on EXIT signal. 
  * Adds a function called by the trap on EXIT signal to unmount and delete the temporary folder. 
  (That should be the end of multiple tmp.xxxxxxxxxx in /tmp)
    - If the command fails, retry every 2 seconds. After 10 attempts, it will stop and display a warning.
    - If the command is successful, "Succes" will be displayed.
  * Adds "grub-btrfs" as a prefix to the temporarie mount folder.
  (before = tmp.xxxxxxxxx , now = grub-btrfs.xxxxxxxxxx)
2021-09-23 11:49:21 +02:00