Commit Graph

295 Commits

Author SHA1 Message Date
steadfasterX
7724c3effd
make divest functions error aware
this commit adds (the currently non-existing) error handling when
using divest's functions and scripts.
all the magic here gets activated when `source ../../Scripts/init.sh`
gets executed which is already a mandatory step before starting any
of the divest functions.

when something fails during patching, resetting or building
each error will be catched + printed including an error code now.
last but not least the executed file and the line number causing that
failure will be shown, too.

as all divest functions get source'd and so not a single build
script gets executed all ERR's needs to be trapped to catch issues.
I am not aware of another way to handle that properly as sourcing
means we cannot track a script or smth while this approach here
just works.

Example for an error thrown in a function call:

> ERROR: $DOS_WORKSPACE_ROOT/Scripts/Common/Functions.sh -> verifyAllPlatformTags() ended with status >1< at line >49<

Final SUCCESS result message after using `patchWorkspace`:

> [FINAL RESULT] No error detected (please check the above output nevertheless!)

Final ERROR result message after using `patchWorkspace`:

> [FINAL RESULT] Serious error(s) found!!!
> Summary error code was: 126. Check & fix all error lines above

Some notes:

- when an error occurs the process continues until the end (like it is now)
  i.e. an error will not stop the current and following tasks
- when multiple errors occur the exit codes will be summed
- buildDevice: a (summed) end result gets printed (SUCCESS or ERROR) at the very end
- the trap used to catch any error will also be active for any command executed
  on the cli. that means: type "false" -> ENTER and you will get an error, too
  same for any script exectued after source init.sh
- when all goes well the trap will be resetted at the end but there are cases
  where this might not happen -> that is why `resetEnv` can be executed to
  reset the trap, i.e. all becomes as it was before sourcing init.sh
- `resetEnv` gets called automatically:
  - after a successful `patchWorkspace` run
  - whenever CTRL+C is used (during a running task or just on the cli)
  - a process get killed (SIGHUP, TERM)
- the whole implementation might not catch all errors though - it highly depends
  on how the function or the script/program called actually handles errors or better
  said: if they return a proper exit code on failures.
  For example some tools (like some git cmds) might print an error but don't return
  a non-zero exit code. This cannot be tracked other then with your eyes or these
  must be replaced by other methods returning a non-zero exit code on failures.

Signed-off-by: steadfasterX <steadfasterX@gmail.com>
2024-04-22 10:24:18 +02:00
Tavi
e7de509de5
Record current checkouts
Signed-off-by: Tavi <tavi@divested.dev>
2024-04-10 08:15:58 -04:00
Tavi
4f8cfc8a41
you want it, you got it!
now compile it yourself.

Signed-off-by: Tavi <tavi@divested.dev>
2024-04-09 16:25:54 -04:00
Tavi
f5d06ea9aa
Refresh defconfig paths
Signed-off-by: Tavi <tavi@divested.dev>
2024-04-09 13:31:34 -04:00
Tavi
ea83b47d59
apex signing updates
untested

Signed-off-by: Tavi <tavi@divested.dev>
2024-04-09 13:25:56 -04:00
Tavi
01f9defd2b
20.0 doesn't support FDE
Should fix boot on some LGE devices

Signed-off-by: Tavi <tavi@divested.dev>
2024-02-13 17:04:29 -05:00
Tad
4eed156d14
Fixup 09494a1c
compile tested: vayu, pioneer

Signed-off-by: Tad <tad@spotco.us>
2023-11-07 21:19:43 -05:00
Tad
f2e48a04b5
Disable regdb updates
Last update broke wireless for Australian users
Let's use what is included instead

Signed-off-by: Tad <tad@spotco.us>
2023-10-13 02:24:26 -04:00
Tad
f7d0ff4af2
Fixup athene
- Disable default encryption on athene, doesn't work
- Remove QC telephony extensions, causes Dialer to crash

Signed-off-by: Tad <tad@spotco.us>
2023-08-29 23:34:49 -04:00
Tad
e067f59555
14.1: add athene
tried to buy a harpia, ended up with an athene :(

Signed-off-by: Tad <tad@spotco.us>
2023-08-29 21:55:15 -04:00
Tad
52fde9a0e7
Fixup
Signed-off-by: Tad <tad@spotco.us>
2023-08-25 15:36:12 -04:00
Tad
7509afb74d
20.0: add Mi8917
Signed-off-by: Tad <tad@spotco.us>
2023-08-25 14:47:54 -04:00
Tad
0f127cfcc8
Update defconfigs
Signed-off-by: Tad <tad@spotco.us>
2023-08-25 09:27:01 -04:00
Tad
52a0c55c41
Fixups
- Revert Freetype branch switching for 15.1+, broken
- Don't include OpenEUICC on Pixel 2 and 3 series, they won't work
- Churn

Signed-off-by: Tad <tad@spotco.us>
2023-08-24 03:06:02 -04:00
Tad
8b51c3cd0f
Fixup OpenEUICC inclusion
Signed-off-by: Tad <tad@spotco.us>
2023-08-21 20:00:31 -04:00
Tad
e74f861c8e
Fixes + Churn
- Fix instances of awk failing on missing globs
- Remove unwanted packages from work/user/managed profiles
- Remove proprietary camera extensions

Signed-off-by: Tad <tad@spotco.us>
2023-07-24 03:59:51 -04:00
Tad
b6308caa37
Update CVE patchers
TODO: enable CVE-2023-31084/4.4

Signed-off-by: Tad <tad@spotco.us>
2023-07-15 21:22:18 -04:00
Tad
1c9076fffe
KSM tuning
- Only enable on Linux 3.0 through 4.9
- Always enable defer option
- Only run twice a second, instead of fifty times a second

Signed-off-by: Tad <tad@spotco.us>
2023-07-14 20:27:10 -04:00
Tad
192c73146a
Add a toggle for KSM
Signed-off-by: Tad <tad@spotco.us>
2023-07-14 17:11:21 -04:00
Tad
b5bb498248
Many tweaks
- 19.1/20.0: Enable low ram for <6GB devices
- 20.0: support RROs with exec spawning patch from GrapheneOS
- allow work profiles when low ram is enabled
- churn
- cherrypicks

Signed-off-by: Tad <tad@spotco.us>
2023-07-13 16:40:05 -04:00
Tad
eff7a69bed
Small changes
- Another fix
- Deblobber tweaks
- Patch from GrapheneOS
- Cherrypick

Signed-off-by: Tad <tad@spotco.us>
2023-07-13 10:58:41 -04:00
Tad
5f6a176e8c
Fixup 89424768
Signed-off-by: Tad <tad@spotco.us>
2023-07-13 10:39:34 -04:00
Tad
894247687a
Fixup 492ba67d
It'd still error on a device that didn't support deltas

Signed-off-by: Tad <tad@spotco.us>
2023-07-13 10:37:19 -04:00
steadfasterX
492ba67d37 fix an issue when no delta requested
this one will break the build when using https://github.com/Divested-Mobile/DivestOS-Build/pull/206 :

> rename: /ssd/tmp/dos/hotdog/LineageOS-20.0/release_keys//incrementals/xxxx-20.0-20230713-dos-hotdog-incremental_*.zip*: not accessible: No such file or directory

the next one is a cosmetic thing only. while the current implementation does not break the build I prefer skipping it if not needed at all instead of just the `|| true`  workaround.
"fixes" the message in build output when no delta is requested:

> cp: cannot stat 'xxxx-20.0-20230713-dos-hotdog-incremental_*.zip*': No such file or directory

Signed-off-by: steadfasterX <steadfasterX@users.noreply.github.com>
2023-07-13 13:58:53 +00:00
Tad
f699e1bc86
A-GPS: disable LPP and LPPE
also handle cases in variables

Signed-off-by: Tad <tad@spotco.us>
2023-07-09 23:59:06 -04:00
Tad
492ed24ca2
Fixups
Signed-off-by: Tad <tad@spotco.us>
2023-07-06 17:59:25 -04:00
Tad
0327a627cd
Ensure fastboot.zip is generated if necessary
As dtbo is necessary on avicii, hotdog, hotdogb, instantnoodle, instantnoodlep, kebab, lemonades, pro1x
Which all don't currently have a fastboo.zip provided

Signed-off-by: Tad <tad@spotco.us>
2023-06-26 15:37:28 -04:00
Tad
cda898f141
Certificate Authority store updates
- Remove some untrustworthy CAs
- Update CA store for all branches to aosp/e302aa968334b3c3fc9cd709a7c7661e0cf534eb

Signed-off-by: Tad <tad@spotco.us>
2023-06-17 15:13:54 -04:00
Tad
ee534ada7f
20.0: bringup lmi/alioth
Signed-off-by: Tad <tad@spotco.us>
2023-06-14 22:04:04 -04:00
Tad
5aa8f42e7a
Update commons
Signed-off-by: Tad <tad@spotco.us>
2023-05-24 11:08:49 -04:00
Tad
931be971b9
volteOverride: we don't care about video calling
Signed-off-by: Tad <tad@spotco.us>
2023-05-19 12:26:16 -04:00
Tad
71c169d326
Promote LGE G5, G6, and V20 to 19.1
Signed-off-by: Tad <tad@spotco.us>
2023-05-17 02:52:11 -04:00
Tad
2856ebd8c2
More device additions
18.1:
	- serranodsdd
	- jactivelte, jfvelte
	- jasmine_sprout, platina, twolip, wayne, whyred

Signed-off-by: Tad <tad@spotco.us>
2023-05-10 17:20:57 -04:00
Tad
1a203ab5ad
Nine device additions
20.0:
	- akatsuki
	- lemonades
	- dipper, equuleus, polaris, ursa

19.1:
	- kirin, mermaid
	- apollon

note lemonades is failing like kebab:
> Sum of sizes in oneplus_dynamic_partitions_partition_list is 3765178368, which is greater than oneplus_dynamic_partitions_size (3753902080)

Signed-off-by: Tad <tad@spotco.us>
2023-05-09 02:48:56 -04:00
Tad
6d2a255eef
Remove User-Agent (and serial) from source built libloc
Signed-off-by: Tad <tad@spotco.us>
2023-05-05 22:27:27 -04:00
Tad
c544c28b94
Prevent Qualcomm location stack from reading chipset serial number
The deblobber already removes xtra-daemon which is what actually performs the requests.
This is just extra sanctity.

Signed-off-by: Tad <tad@spotco.us>
2023-05-03 21:41:20 -04:00
Tad
dfb376a4fc
Potential, but ugly, fix for Mi8937
Reported boot issues
Notably this device went from 3.18 to 4.9 and likely has rough edges

Signed-off-by: Tad <tad@spotco.us>
2023-04-23 23:29:36 -04:00
Tad
aad60b7567
Promotions
16.0 santoni/land to 20.0 Mi8937 unified
17.1 griffin to 18.1
17.1 star*/crownlte to 20.0
20.0 add pro1x

Signed-off-by: Tad <tad@spotco.us>
2023-04-17 21:36:49 -04:00
Tad
f4c2da950b
Disable logging, has weird behavior
Signed-off-by: Tad <tad@spotco.us>
2023-04-01 20:06:04 -04:00
steadfasterX
5f783a6618
Functions.sh: fix source not found (#199)
Fixes the following issue on systems where /bin/sh != /bin/bash (e.g. Ubuntu):

> source [...]/Scripts/Common/Tag_Verifier.sh && verifyTagIfPlatform  : 1: source: not found

for these (unsupported) systems the following is still required (not needed on Fedora or other systems using /bin/sh -> /bin/bash):
 
1. `ln -s /bin/bash ~/.local/bin/sh`
2. .bashrc -> `export PATH="$HOME/.local/bin:$PATH"`
3. .bashrc -> `alias sh='/bin/bash'`

Signed-off-by: steadfasterX <steadfasterX@users.noreply.github.com>
2023-03-31 16:59:45 +00:00
Tad
750f244304
Updates, logging, and churn
also add an extra March ASB patch for 17.1

Signed-off-by: Tad <tad@spotco.us>
2023-03-31 12:38:46 -04:00
Tad
5d0ab40f0b
Robustness improvements
Signed-off-by: Tad <tad@spotco.us>
2023-03-08 01:14:06 -05:00
Tad
49f5f1c674
19.1+: Add the SUPL toggle setting from GrapheneOS
Will need some work to apply on 17.1/18.1

Signed-off-by: Tad <tad@spotco.us>
2023-02-10 23:57:04 -05:00
Tad
19d5f73b50
Remove silly carrier restrictions
Signed-off-by: Tad <tad@spotco.us>
2023-02-03 22:17:13 -05:00
Tad
20c4e75fe1
Fixes
Signed-off-by: Tad <tad@spotco.us>
2023-02-01 18:30:29 -05:00
Tad
af3fe9776b Small updates
Signed-off-by: Tad <tad@spotco.us>
2023-02-01 15:19:21 -05:00
Tad
626821d12d
Use HTTPS for GLPals
Signed-off-by: Tad <tad@spotco.us>
2023-01-20 21:22:16 -05:00
Tad
06254708be
Many fixes to get bluejay booting & working proper
- Enable APEX for Pixel 6/7, necessary for camera and pKVM
  - Also drop hack removing pKVM for Pixel 6/7
  - patch from GrapheneOS

- Extend hmalloc workaround to /apex

- Deblobber:
  - actually handle wildcard f/w/b overlays
  - move some stuff around
  - remove some more Pixel blobs
  - flag and disable removal of camera extensions, being able to use the second camera is nice

- Adjust what hardenDefconfig disables, caused boot issues
  minimal impact as most of these are already default-disabled
  can be narrowed down in future

- Disable some of the bionic hardening patches, causing more boot issues
  annoying to lose, but having a phone that boots is more important

- Add LTE only mode to 17.1, 18.1, 19.1, and 20.0, credit GrapheneOS

- Remove Pixel 2 ramdisk compression reverts, fixed upstream

And yes, I know I should've split up this commit...

Signed-off-by: Tad <tad@spotco.us>
2022-12-25 13:21:37 -05:00
Tad
ad5de60266
More Pixel 6/7 work
compiles, but fails to generate release due to pvmfw failure

Signed-off-by: Tad <tad@spotco.us>
2022-12-15 20:49:30 -05:00
Tad
7f8ea96535
Pixel 6/7 prep + fixes
These still need defconfig and deblobber handling

All of these sections were reviewed & sorted

Signed-off-by: Tad <tad@spotco.us>
2022-12-14 22:23:31 -05:00