This checkout is PawletOS's fork (git.oxmc.me/PawletOS/profiled), so its own identity should read PawletOS, not VesperOS: binary/package name, AIDL package+interface (me.oxmc.vesperos.profile -> os.pawlet.profiled), D-Bus service/object/error names, C++ namespace (vesperos::profile -> pawletos::profile), sepolicy types, data paths (/data/system/vesperos -> /data/system/pawletos, /etc/vesperprofiled -> /etc/pawletprofiled), the vendored OpenSSL static-lib module names, and the ZTE protocol string. Also drops generated build output (obj-x86_64-linux-gnu/, debian/.debhelper, debian staging dir, debhelper log/substvars files) that had been committed by mistake, and adds a .gitignore so they don't come back. The stock/upstream vesperprofiled at git.oxmc.me/VesperOS/vesperprofiled is untouched -- this commit only goes to the pawletos remote.
113 lines
4.4 KiB
Plaintext
113 lines
4.4 KiB
Plaintext
// vendor/oxmc/pawletprofiled/Android.bp
|
|
// ─────────────────────────────────────────────────────────────────────────
|
|
// Drop this entire directory at vendor/oxmc/pawletprofiled/ and add
|
|
// "pawletprofiled" to PRODUCT_PACKAGES in your device makefile.
|
|
//
|
|
// m pawletprofiled — build the daemon
|
|
// m os.pawlet.profiled-V1-java — build Java stubs for system apps
|
|
// ─────────────────────────────────────────────────────────────────────────
|
|
|
|
// ── AIDL interface ────────────────────────────────────────────────────────
|
|
|
|
aidl_interface {
|
|
name: "os.pawlet.profiled",
|
|
srcs: ["aidl/os/pawlet/profiled/IPawletProfileService.aidl"],
|
|
stability: "vintf",
|
|
vendor_available: false,
|
|
backend: {
|
|
ndk: {
|
|
enabled: true,
|
|
},
|
|
java: {
|
|
enabled: true,
|
|
sdk_version: "system_current",
|
|
},
|
|
cpp: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
versions: ["1"],
|
|
}
|
|
|
|
// ── Vendored OpenSSL (Android-only, static, this binary only) ─────────────
|
|
// See third_party/openssl-android/README.md — BoringSSL (the system
|
|
// libcrypto/libssl) has no CMS/PKCS#7 support, so SignatureVerifier.cpp
|
|
// links a private static copy instead of touching the platform's crypto
|
|
// libs. third_party/openssl-android/Android.bp is picked up automatically
|
|
// by Soong's normal recursive discovery — nothing to reference here beyond
|
|
// the module names ("libssl_pawlet_static" / "libcrypto_pawlet_static")
|
|
// used in static_libs below.
|
|
|
|
// ── Native daemon ─────────────────────────────────────────────────────────
|
|
//
|
|
// This file is the Android/Soong build only — the Linux/D-Bus build lives
|
|
// in CMakeLists.txt and is entirely separate. Accordingly the source list
|
|
// below is the Android-specific set: main_android.cpp (Binder entry point)
|
|
// and PawletProfileBinderService.cpp instead of main.cpp/PawletProfileService.cpp
|
|
// (D-Bus), and no ZTE client (it watches NetworkManager over D-Bus, which
|
|
// doesn't exist on Android — separate follow-up work, see main_android.cpp's
|
|
// header comment).
|
|
|
|
cc_binary {
|
|
name: "pawletprofiled",
|
|
|
|
srcs: [
|
|
"src/main_android.cpp",
|
|
"src/PawletProfileBinderService.cpp",
|
|
"src/ProfileParser.cpp",
|
|
"src/ProfileStore.cpp",
|
|
"src/SignatureVerifier.cpp",
|
|
"src/payloads/PayloadHandlers.cpp", // shared dispatch — see its header comment
|
|
"src/platform/android/Wifi.cpp",
|
|
"src/platform/android/Ethernet.cpp",
|
|
"src/platform/android/Vpn.cpp",
|
|
"src/platform/android/Cert.cpp",
|
|
"src/platform/android/Pkcs12.cpp",
|
|
"src/platform/android/Passcode.cpp",
|
|
"src/platform/android/Mdm.cpp",
|
|
"src/platform/android/SoftwareUpdate.cpp",
|
|
"src/platform/android/TimeServer.cpp",
|
|
"src/platform/android/Proxy.cpp",
|
|
"src/platform/android/DnsProxy.cpp",
|
|
"src/platform/android/Firewall.cpp",
|
|
"src/platform/android/Ldap.cpp",
|
|
"src/platform/android/Wallpaper.cpp",
|
|
"src/platform/android/Screensaver.cpp",
|
|
"src/platform/android/FirstBoot.cpp",
|
|
"src/platform/android/ContentCache.cpp",
|
|
],
|
|
|
|
shared_libs: [
|
|
"libbinder_ndk",
|
|
"libbase",
|
|
"liblog",
|
|
"os.pawlet.profiled-V1-ndk",
|
|
],
|
|
|
|
static_libs: [
|
|
"libyaml",
|
|
"libssl_pawlet_static",
|
|
"libcrypto_pawlet_static",
|
|
],
|
|
|
|
cflags: [
|
|
"-Wall",
|
|
"-Wextra",
|
|
"-Werror",
|
|
"-std=c++17",
|
|
],
|
|
|
|
init_rc: ["pawletprofiled.rc"],
|
|
vintf_fragments: ["pawletprofiled.xml"],
|
|
|
|
required: ["pawletprofiled_sepolicy"],
|
|
}
|
|
|
|
// ── SELinux policy shim ───────────────────────────────────────────────────
|
|
|
|
prebuilt_etc {
|
|
name: "pawletprofiled_sepolicy",
|
|
src: "sepolicy/pawletprofiled.te",
|
|
sub_dir: "selinux",
|
|
}
|