* Use requests if installed. If not fall back to urllib. This is
done because users may or may not have requests installed and
requiring them to do so for simple http stuff isn't really
reasonable.
* If requests is installed and a .gerritrc file exists in the
user's HOME directory, try to get credentials out of it
for the given gerrit instance. If auth for the correct gerrit
instance exists, use it to auth to gerrit. If no .gerritrc
exists, just use requests with no auth.
Example ~/.gerritrc entry:
review.lineageos.org|invisiblek|httppasswordhere
Change-Id: I95be26d51bfd31b53f3613e8dbfb7bba46324571
* We shouldn't be changing the default behaviour anyway, plus
Airplane Mode toggle is horrid on 8.1 right now
Change-Id: Ie795443f840e023f0c67f2a6729a7d702bc37cd5
* Previously, you could just specify a SRC directly
after './extract-files', and it would work, but
now, the arg '-p/--path' is required for the same
behavior to be applied for the extraction
* Add a catch-all case that just sets SRC if the arg
doesn't match any of the args that we care about
* Make the ordering of the cases alphabetical
Change-Id: Ia2ad42d444904ead6b3bd6d910af363eb7f015cc
The existing kernel module logic does not detect failed kernel module
builds. This is because the module build logic is a long shell chain
that invokes make macros which are not intended to be used in this way.
The essense of the issue is that we get a shell chain that looks like:
cmd && cmd && var=value; cmd && var=value; cmd;
The shell breaks this into three separate commands. The first builds
the modules. The other two are the macro invocations. So the result
of the command is the result of the last macro invocation, which will
always succeed even if the modules fail to build.
The issue is made worse by the existing build rule conflating the built
kernel modules and the installed kernel modules.
Fix this by reducing the built kernel module command to a single shell
command and creating a separate target INSTALLED_KERNEL_MODULES. Any
kernel module build failure will show up properly. The commands for
INSTALLED_KERNEL_MODULES do not invoke any macros and should avoid the
issue described above.
Finally, this also removes the fake target no-external-modules and
unifies the install logic for in-tree and out-of-tree modules.
Change-Id: I3d13056e217e1e937c8c3a345032682ffc394bca
Skip the extraction of pinned files if the ones currently available
have the expected sha1. If we don't, we will overwrite pinned files
with potentially incorrect files when the current vendor files are
not moved to a temporary directory (i.e. when not cleaning vendor).
Change-Id: I640d6bf2ed98eb366a4df17f0ebeaec81cb5274b
* WARNING: this intentionally breaks the build on devices who
are not setting BOARD_KERNEL_IMAGE_NAME and are still setting
TARGET_USES_UNCOMPRESSED_KERNEL or TARGET_KERNEL_APPEND_DTB
* The logic here is insanity and if all of this can be done
by simply setting BOARD_KERNEL_IMAGE_NAME, why have all this
extra cruft?
* Use cases:
- Set a kernel image name without "-dtb" on the end, you get a kernel.
Nothing more.
- Set a kernel image name with "-dtb" on the end, you get an kernel
with an appended dt.
- Set a kernel image name without "-dtb" on the end, and set
BOARD_KERNEL_SEPARATED_DT. You get a kernel and a separated dt.img.
- Set a kernel image name with "-dtb" on the end, and set
BOARD_KERNEL_SEPARATED_DT. You're crazy.
Change-Id: I5c3fc6eb727255684278ff562c0ee3faa7124b6b
* Starting with Oreo, all the apps that target O+ are always subject to
background restrictions (android/platform_frameworks_base@42a386b771).
The manifest-registered receivers of apps with a targetSdkVersion
higher than 25 won't receive the broadcast. Instead, a message similar
to the following will appear in LogCat:
10-07 14:13:49.594 719 736 W BroadcastQueue: Background execution not allowed: receiving Intent { act=lineageos.intent.action.LID_STATE_CHANGED flg=0x20000010 (has extras) } to org.lineageos.flipflap/.EventReceiver
* Exempt some of our broadcast actions so that we can keep targetting
the latest SDK.
Change-Id: I075608e18994f64db5e89658757dca307f07c417
*) Put Lineage rc files in /system/etc/init instead of /init.lineage.rc
*) Split into function specific files (vibrator-specific stuff moved to
our custom vibrator HAL service)
Change-Id: I1d00950253fbf7fdd7a4b7bd52adbed971923575
We want to cleanup our temporary files independently on the signal,
so just execute a trap on 0. This will ensure temporary files are
always removed and doesn't require any extra care when trapping
signals such as SIGINT that require an explicit exit call.
Change-Id: Ieff4f15c44a9ac9d5a543d14c140ebd72c0e7344
To be honest, this name is a little misleading, this is how it should
have been done in the first place. This allows devices to copy vendor
files to the proper location depending on TARGET_COPY_OUT_VENDOR rather
than hardcoding system/vendor. This allows devices with dedicated vendor
partitions to copy directly to vendor. The only reason it's optional
is that some nexi set TARGET_COPY_OUT_VENDOR to system which would cause
some weird breakage.
Change-Id: Ic46bc1086737835340abef9f61693d386bc6a5dc
* Make a tempdir using the mktemp command rather than just making a
dir in /tmp to accomodate for systems that don't set proper perms
or dont have /tmp
* Fix the deodex procedure to pull files from the right path
Change-Id: I181863599b6670e3a149069dbb7b13ebf73bae8e
Oreo introduces new optimized dex files (or vdex). While smali/baksmali
have supported vdex since 2.2.1, you actually have to have the .vdex in
the same location as the .oat or else the smali will fail due to not
finding the .vdex. Copy it (if it exists) and echo a warning since vdex
deodexing is still experimental.
Change-Id: Ic612751be45a8b6e54b8794b426a4d5adbbf13d2
Oreo doesn't allow usage of the old alarm interface anymore, so
simply remove it and switch to timerfd. Also update the timerfd
interface from CAF O release
Change-Id: I22fc00630072cbf18976239dc039bf2135946045
* Required to access android-base/unique_fd.h
* Includes following commit from CAF device/qcom/common
healthd: Add include path for minui.h
The minui.h header file path has changed such that it
now resides within recovery/minui/include. Update the
healthd makefile to reflect this
Change-Id: I4ed371156b075f5b96404480b3703f113003979b
Change-Id: I60bc31ecaa07dad40b37265ded37d64b492bd029
GmsCore deletes the files in /data/ota_package/, including the files
downloaded by Updater. Create a new directory where Updater can store
its files not to have them disappear randomly.
Change-Id: Ifdfbc7f81eb5f2c4370d02f0634c869fdbb848b4
* Certain order of running these commands on different repos can
end up producing broken remotes, because the variables are
exported globally (looking at you PFX)
Change-Id: I0b679f04264d964ed9a0f0d1adfdbaeac9403ec8
* lineageremote was not working properly for pure AOSP projects
because there is no github remote.
* Read and convert AOSP remote name if there is no github remote
Change-Id: I629f0a8ae3be09d539e18d63a9738c32fb24496c