Files
profiled/Android.bp
T
oxmc a86ad3298e Rename project from vesperprofiled to pawletprofiled (PawletOS fork)
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.
2026-07-25 00:50:46 -07:00

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",
}