diff --git a/.cache/clangd/index/add.c.857C81F711B32DAC.idx b/.cache/clangd/index/add.c.857C81F711B32DAC.idx new file mode 100644 index 00000000..4f387dd0 Binary files /dev/null and b/.cache/clangd/index/add.c.857C81F711B32DAC.idx differ diff --git a/.cache/clangd/index/add.h.1CD1E43DAF876ABC.idx b/.cache/clangd/index/add.h.1CD1E43DAF876ABC.idx new file mode 100644 index 00000000..b9bf6e15 Binary files /dev/null and b/.cache/clangd/index/add.h.1CD1E43DAF876ABC.idx differ diff --git a/.cache/clangd/index/alpm.c.123B02C19ECEF711.idx b/.cache/clangd/index/alpm.c.123B02C19ECEF711.idx new file mode 100644 index 00000000..cab31536 Binary files /dev/null and b/.cache/clangd/index/alpm.c.123B02C19ECEF711.idx differ diff --git a/.cache/clangd/index/alpm.h.2A71C7FD23E1E016.idx b/.cache/clangd/index/alpm.h.2A71C7FD23E1E016.idx new file mode 100644 index 00000000..c461dc08 Binary files /dev/null and b/.cache/clangd/index/alpm.h.2A71C7FD23E1E016.idx differ diff --git a/.cache/clangd/index/alpm_list.c.B04C5B40F2F5EF36.idx b/.cache/clangd/index/alpm_list.c.B04C5B40F2F5EF36.idx new file mode 100644 index 00000000..8f92bb92 Binary files /dev/null and b/.cache/clangd/index/alpm_list.c.B04C5B40F2F5EF36.idx differ diff --git a/.cache/clangd/index/alpm_list.h.09D6F4D90BD947E4.idx b/.cache/clangd/index/alpm_list.h.09D6F4D90BD947E4.idx new file mode 100644 index 00000000..8e7742e6 Binary files /dev/null and b/.cache/clangd/index/alpm_list.h.09D6F4D90BD947E4.idx differ diff --git a/.cache/clangd/index/backup.c.AC84A6EEEAD15F53.idx b/.cache/clangd/index/backup.c.AC84A6EEEAD15F53.idx new file mode 100644 index 00000000..9957c89e Binary files /dev/null and b/.cache/clangd/index/backup.c.AC84A6EEEAD15F53.idx differ diff --git a/.cache/clangd/index/backup.h.C5D9F6A65B395E63.idx b/.cache/clangd/index/backup.h.C5D9F6A65B395E63.idx new file mode 100644 index 00000000..13b35c81 Binary files /dev/null and b/.cache/clangd/index/backup.h.C5D9F6A65B395E63.idx differ diff --git a/.cache/clangd/index/base64.c.CF6B5A3529477ECC.idx b/.cache/clangd/index/base64.c.CF6B5A3529477ECC.idx new file mode 100644 index 00000000..b6f9be59 Binary files /dev/null and b/.cache/clangd/index/base64.c.CF6B5A3529477ECC.idx differ diff --git a/.cache/clangd/index/base64.h.2917FAD4C76BB23C.idx b/.cache/clangd/index/base64.h.2917FAD4C76BB23C.idx new file mode 100644 index 00000000..a7dde911 Binary files /dev/null and b/.cache/clangd/index/base64.h.2917FAD4C76BB23C.idx differ diff --git a/.cache/clangd/index/be_local.c.B9ACF15C6F327E77.idx b/.cache/clangd/index/be_local.c.B9ACF15C6F327E77.idx new file mode 100644 index 00000000..d99d9b9e Binary files /dev/null and b/.cache/clangd/index/be_local.c.B9ACF15C6F327E77.idx differ diff --git a/.cache/clangd/index/be_package.c.CE381BC4B7ED15EA.idx b/.cache/clangd/index/be_package.c.CE381BC4B7ED15EA.idx new file mode 100644 index 00000000..94186dac Binary files /dev/null and b/.cache/clangd/index/be_package.c.CE381BC4B7ED15EA.idx differ diff --git a/.cache/clangd/index/be_sync.c.B1BA2C857DE3D5A3.idx b/.cache/clangd/index/be_sync.c.B1BA2C857DE3D5A3.idx new file mode 100644 index 00000000..9833c734 Binary files /dev/null and b/.cache/clangd/index/be_sync.c.B1BA2C857DE3D5A3.idx differ diff --git a/.cache/clangd/index/callback.c.EBEC16A21FEEB6A7.idx b/.cache/clangd/index/callback.c.EBEC16A21FEEB6A7.idx new file mode 100644 index 00000000..1a4cc705 Binary files /dev/null and b/.cache/clangd/index/callback.c.EBEC16A21FEEB6A7.idx differ diff --git a/.cache/clangd/index/callback.h.A89E054C63468CA4.idx b/.cache/clangd/index/callback.h.A89E054C63468CA4.idx new file mode 100644 index 00000000..74ef8e24 Binary files /dev/null and b/.cache/clangd/index/callback.h.A89E054C63468CA4.idx differ diff --git a/.cache/clangd/index/check.c.865722635BFE5F46.idx b/.cache/clangd/index/check.c.865722635BFE5F46.idx new file mode 100644 index 00000000..9c1e8084 Binary files /dev/null and b/.cache/clangd/index/check.c.865722635BFE5F46.idx differ diff --git a/.cache/clangd/index/check.h.61F398AE47DA7C2C.idx b/.cache/clangd/index/check.h.61F398AE47DA7C2C.idx new file mode 100644 index 00000000..63c4bded Binary files /dev/null and b/.cache/clangd/index/check.h.61F398AE47DA7C2C.idx differ diff --git a/.cache/clangd/index/conf.c.49E8F3C26530813F.idx b/.cache/clangd/index/conf.c.49E8F3C26530813F.idx new file mode 100644 index 00000000..a8317088 Binary files /dev/null and b/.cache/clangd/index/conf.c.49E8F3C26530813F.idx differ diff --git a/.cache/clangd/index/conf.h.4795C521FA3A6C89.idx b/.cache/clangd/index/conf.h.4795C521FA3A6C89.idx new file mode 100644 index 00000000..23023043 Binary files /dev/null and b/.cache/clangd/index/conf.h.4795C521FA3A6C89.idx differ diff --git a/.cache/clangd/index/conflict.c.DA057523E86BC71E.idx b/.cache/clangd/index/conflict.c.DA057523E86BC71E.idx new file mode 100644 index 00000000..6674faae Binary files /dev/null and b/.cache/clangd/index/conflict.c.DA057523E86BC71E.idx differ diff --git a/.cache/clangd/index/conflict.h.A048A2B8D5F28954.idx b/.cache/clangd/index/conflict.h.A048A2B8D5F28954.idx new file mode 100644 index 00000000..316fc98a Binary files /dev/null and b/.cache/clangd/index/conflict.h.A048A2B8D5F28954.idx differ diff --git a/.cache/clangd/index/database.c.145107F525BE5E1F.idx b/.cache/clangd/index/database.c.145107F525BE5E1F.idx new file mode 100644 index 00000000..8aaa2043 Binary files /dev/null and b/.cache/clangd/index/database.c.145107F525BE5E1F.idx differ diff --git a/.cache/clangd/index/db.c.4CBF2480742BF0DB.idx b/.cache/clangd/index/db.c.4CBF2480742BF0DB.idx new file mode 100644 index 00000000..efb001c3 Binary files /dev/null and b/.cache/clangd/index/db.c.4CBF2480742BF0DB.idx differ diff --git a/.cache/clangd/index/db.h.160A38F96733B5D0.idx b/.cache/clangd/index/db.h.160A38F96733B5D0.idx new file mode 100644 index 00000000..c0c709b5 Binary files /dev/null and b/.cache/clangd/index/db.h.160A38F96733B5D0.idx differ diff --git a/.cache/clangd/index/deps.c.08B730399A636229.idx b/.cache/clangd/index/deps.c.08B730399A636229.idx new file mode 100644 index 00000000..a0346cfa Binary files /dev/null and b/.cache/clangd/index/deps.c.08B730399A636229.idx differ diff --git a/.cache/clangd/index/deps.h.361751617BA42FA8.idx b/.cache/clangd/index/deps.h.361751617BA42FA8.idx new file mode 100644 index 00000000..8f68e7dd Binary files /dev/null and b/.cache/clangd/index/deps.h.361751617BA42FA8.idx differ diff --git a/.cache/clangd/index/deptest.c.ADD092DDA23B1593.idx b/.cache/clangd/index/deptest.c.ADD092DDA23B1593.idx new file mode 100644 index 00000000..3e289570 Binary files /dev/null and b/.cache/clangd/index/deptest.c.ADD092DDA23B1593.idx differ diff --git a/.cache/clangd/index/diskspace.c.B4D5A72E7D02971F.idx b/.cache/clangd/index/diskspace.c.B4D5A72E7D02971F.idx new file mode 100644 index 00000000..25a1c09d Binary files /dev/null and b/.cache/clangd/index/diskspace.c.B4D5A72E7D02971F.idx differ diff --git a/.cache/clangd/index/diskspace.h.B1D92C260F4DCA75.idx b/.cache/clangd/index/diskspace.h.B1D92C260F4DCA75.idx new file mode 100644 index 00000000..510d39f3 Binary files /dev/null and b/.cache/clangd/index/diskspace.h.B1D92C260F4DCA75.idx differ diff --git a/.cache/clangd/index/dload.c.0B2B728977978993.idx b/.cache/clangd/index/dload.c.0B2B728977978993.idx new file mode 100644 index 00000000..9e394ac6 Binary files /dev/null and b/.cache/clangd/index/dload.c.0B2B728977978993.idx differ diff --git a/.cache/clangd/index/dload.h.78B0F7C2A71B4405.idx b/.cache/clangd/index/dload.h.78B0F7C2A71B4405.idx new file mode 100644 index 00000000..7c27b6f6 Binary files /dev/null and b/.cache/clangd/index/dload.h.78B0F7C2A71B4405.idx differ diff --git a/.cache/clangd/index/error.c.5889F4472C30046D.idx b/.cache/clangd/index/error.c.5889F4472C30046D.idx new file mode 100644 index 00000000..8282e25b Binary files /dev/null and b/.cache/clangd/index/error.c.5889F4472C30046D.idx differ diff --git a/.cache/clangd/index/filelist.c.6A525D4A97A35866.idx b/.cache/clangd/index/filelist.c.6A525D4A97A35866.idx new file mode 100644 index 00000000..71204020 Binary files /dev/null and b/.cache/clangd/index/filelist.c.6A525D4A97A35866.idx differ diff --git a/.cache/clangd/index/filelist.h.C1717C8ABF52AB1A.idx b/.cache/clangd/index/filelist.h.C1717C8ABF52AB1A.idx new file mode 100644 index 00000000..0c0c9cc2 Binary files /dev/null and b/.cache/clangd/index/filelist.h.C1717C8ABF52AB1A.idx differ diff --git a/.cache/clangd/index/files.c.14F9A92E64B5B385.idx b/.cache/clangd/index/files.c.14F9A92E64B5B385.idx new file mode 100644 index 00000000..35dbd7ab Binary files /dev/null and b/.cache/clangd/index/files.c.14F9A92E64B5B385.idx differ diff --git a/.cache/clangd/index/graph.c.A0FE633760E1C307.idx b/.cache/clangd/index/graph.c.A0FE633760E1C307.idx new file mode 100644 index 00000000..8c9713b9 Binary files /dev/null and b/.cache/clangd/index/graph.c.A0FE633760E1C307.idx differ diff --git a/.cache/clangd/index/graph.h.15E328554CBCB7B3.idx b/.cache/clangd/index/graph.h.15E328554CBCB7B3.idx new file mode 100644 index 00000000..acc765f2 Binary files /dev/null and b/.cache/clangd/index/graph.h.15E328554CBCB7B3.idx differ diff --git a/.cache/clangd/index/group.c.FC95801258A2C4F5.idx b/.cache/clangd/index/group.c.FC95801258A2C4F5.idx new file mode 100644 index 00000000..d0dc7748 Binary files /dev/null and b/.cache/clangd/index/group.c.FC95801258A2C4F5.idx differ diff --git a/.cache/clangd/index/group.h.572A1AA8612086E1.idx b/.cache/clangd/index/group.h.572A1AA8612086E1.idx new file mode 100644 index 00000000..2036d5e8 Binary files /dev/null and b/.cache/clangd/index/group.h.572A1AA8612086E1.idx differ diff --git a/.cache/clangd/index/handle.c.C1C2D1F6740A1273.idx b/.cache/clangd/index/handle.c.C1C2D1F6740A1273.idx new file mode 100644 index 00000000..0405f100 Binary files /dev/null and b/.cache/clangd/index/handle.c.C1C2D1F6740A1273.idx differ diff --git a/.cache/clangd/index/handle.h.E3875B78666DE822.idx b/.cache/clangd/index/handle.h.E3875B78666DE822.idx new file mode 100644 index 00000000..2c7e52f9 Binary files /dev/null and b/.cache/clangd/index/handle.h.E3875B78666DE822.idx differ diff --git a/.cache/clangd/index/hook.c.FC85CB00711CB8F6.idx b/.cache/clangd/index/hook.c.FC85CB00711CB8F6.idx new file mode 100644 index 00000000..792bcc10 Binary files /dev/null and b/.cache/clangd/index/hook.c.FC85CB00711CB8F6.idx differ diff --git a/.cache/clangd/index/hook.h.5D2D3A46434F96E9.idx b/.cache/clangd/index/hook.h.5D2D3A46434F96E9.idx new file mode 100644 index 00000000..4c911768 Binary files /dev/null and b/.cache/clangd/index/hook.h.5D2D3A46434F96E9.idx differ diff --git a/.cache/clangd/index/ini.c.EF494795706619DC.idx b/.cache/clangd/index/ini.c.EF494795706619DC.idx new file mode 100644 index 00000000..9c39aece Binary files /dev/null and b/.cache/clangd/index/ini.c.EF494795706619DC.idx differ diff --git a/.cache/clangd/index/ini.h.41AF30741FDB4C74.idx b/.cache/clangd/index/ini.h.41AF30741FDB4C74.idx new file mode 100644 index 00000000..dedbea70 Binary files /dev/null and b/.cache/clangd/index/ini.h.41AF30741FDB4C74.idx differ diff --git a/.cache/clangd/index/libarchive-compat.h.165FCEAC5A971297.idx b/.cache/clangd/index/libarchive-compat.h.165FCEAC5A971297.idx new file mode 100644 index 00000000..9b07ad4b Binary files /dev/null and b/.cache/clangd/index/libarchive-compat.h.165FCEAC5A971297.idx differ diff --git a/.cache/clangd/index/log.c.76A6CC06413F9135.idx b/.cache/clangd/index/log.c.76A6CC06413F9135.idx new file mode 100644 index 00000000..e9f06b07 Binary files /dev/null and b/.cache/clangd/index/log.c.76A6CC06413F9135.idx differ diff --git a/.cache/clangd/index/log.h.094D36D1F2A64877.idx b/.cache/clangd/index/log.h.094D36D1F2A64877.idx new file mode 100644 index 00000000..c4bd75b5 Binary files /dev/null and b/.cache/clangd/index/log.h.094D36D1F2A64877.idx differ diff --git a/.cache/clangd/index/package.c.A63FD68042A06657.idx b/.cache/clangd/index/package.c.A63FD68042A06657.idx new file mode 100644 index 00000000..1e533eaa Binary files /dev/null and b/.cache/clangd/index/package.c.A63FD68042A06657.idx differ diff --git a/.cache/clangd/index/package.c.D4057A79E47DD23B.idx b/.cache/clangd/index/package.c.D4057A79E47DD23B.idx new file mode 100644 index 00000000..ff7118f2 Binary files /dev/null and b/.cache/clangd/index/package.c.D4057A79E47DD23B.idx differ diff --git a/.cache/clangd/index/package.h.05CF25FB0657FC92.idx b/.cache/clangd/index/package.h.05CF25FB0657FC92.idx new file mode 100644 index 00000000..cd26d393 Binary files /dev/null and b/.cache/clangd/index/package.h.05CF25FB0657FC92.idx differ diff --git a/.cache/clangd/index/package.h.138382DEC363AD05.idx b/.cache/clangd/index/package.h.138382DEC363AD05.idx new file mode 100644 index 00000000..51735cec Binary files /dev/null and b/.cache/clangd/index/package.h.138382DEC363AD05.idx differ diff --git a/.cache/clangd/index/pacman-conf.c.C4337E1C984BFC13.idx b/.cache/clangd/index/pacman-conf.c.C4337E1C984BFC13.idx new file mode 100644 index 00000000..f7fc8444 Binary files /dev/null and b/.cache/clangd/index/pacman-conf.c.C4337E1C984BFC13.idx differ diff --git a/.cache/clangd/index/pacman.c.9D142795985350E9.idx b/.cache/clangd/index/pacman.c.9D142795985350E9.idx new file mode 100644 index 00000000..7ac1c7b8 Binary files /dev/null and b/.cache/clangd/index/pacman.c.9D142795985350E9.idx differ diff --git a/.cache/clangd/index/pacman.h.7AE8A2EFE35FCE16.idx b/.cache/clangd/index/pacman.h.7AE8A2EFE35FCE16.idx new file mode 100644 index 00000000..ecc87ba2 Binary files /dev/null and b/.cache/clangd/index/pacman.h.7AE8A2EFE35FCE16.idx differ diff --git a/.cache/clangd/index/pkghash.c.76A3DCD6006B0AC5.idx b/.cache/clangd/index/pkghash.c.76A3DCD6006B0AC5.idx new file mode 100644 index 00000000..80697580 Binary files /dev/null and b/.cache/clangd/index/pkghash.c.76A3DCD6006B0AC5.idx differ diff --git a/.cache/clangd/index/pkghash.h.08E332404B03E9B5.idx b/.cache/clangd/index/pkghash.h.08E332404B03E9B5.idx new file mode 100644 index 00000000..bbb23654 Binary files /dev/null and b/.cache/clangd/index/pkghash.h.08E332404B03E9B5.idx differ diff --git a/.cache/clangd/index/query.c.DAE48DD20C45261F.idx b/.cache/clangd/index/query.c.DAE48DD20C45261F.idx new file mode 100644 index 00000000..2d002573 Binary files /dev/null and b/.cache/clangd/index/query.c.DAE48DD20C45261F.idx differ diff --git a/.cache/clangd/index/rawstr.c.884B4D61F7780079.idx b/.cache/clangd/index/rawstr.c.884B4D61F7780079.idx new file mode 100644 index 00000000..38637ac3 Binary files /dev/null and b/.cache/clangd/index/rawstr.c.884B4D61F7780079.idx differ diff --git a/.cache/clangd/index/remove.c.662D29C536AC8AB2.idx b/.cache/clangd/index/remove.c.662D29C536AC8AB2.idx new file mode 100644 index 00000000..82ed949f Binary files /dev/null and b/.cache/clangd/index/remove.c.662D29C536AC8AB2.idx differ diff --git a/.cache/clangd/index/remove.c.ED53D2C6D3946B7E.idx b/.cache/clangd/index/remove.c.ED53D2C6D3946B7E.idx new file mode 100644 index 00000000..478f2559 Binary files /dev/null and b/.cache/clangd/index/remove.c.ED53D2C6D3946B7E.idx differ diff --git a/.cache/clangd/index/remove.h.5C91EA777B18AFA9.idx b/.cache/clangd/index/remove.h.5C91EA777B18AFA9.idx new file mode 100644 index 00000000..3851b13f Binary files /dev/null and b/.cache/clangd/index/remove.h.5C91EA777B18AFA9.idx differ diff --git a/.cache/clangd/index/sandbox.c.8A215275B4ABFE06.idx b/.cache/clangd/index/sandbox.c.8A215275B4ABFE06.idx new file mode 100644 index 00000000..8616607d Binary files /dev/null and b/.cache/clangd/index/sandbox.c.8A215275B4ABFE06.idx differ diff --git a/.cache/clangd/index/sandbox.h.250CA7951EDDC13E.idx b/.cache/clangd/index/sandbox.h.250CA7951EDDC13E.idx new file mode 100644 index 00000000..db707722 Binary files /dev/null and b/.cache/clangd/index/sandbox.h.250CA7951EDDC13E.idx differ diff --git a/.cache/clangd/index/sandbox_fs.c.01CDAD0433F8D649.idx b/.cache/clangd/index/sandbox_fs.c.01CDAD0433F8D649.idx new file mode 100644 index 00000000..98a31278 Binary files /dev/null and b/.cache/clangd/index/sandbox_fs.c.01CDAD0433F8D649.idx differ diff --git a/.cache/clangd/index/sandbox_fs.h.AE98A6F2521E50A6.idx b/.cache/clangd/index/sandbox_fs.h.AE98A6F2521E50A6.idx new file mode 100644 index 00000000..5a67005b Binary files /dev/null and b/.cache/clangd/index/sandbox_fs.h.AE98A6F2521E50A6.idx differ diff --git a/.cache/clangd/index/sandbox_syscalls.c.F39319C7CAB18873.idx b/.cache/clangd/index/sandbox_syscalls.c.F39319C7CAB18873.idx new file mode 100644 index 00000000..f39c6cab Binary files /dev/null and b/.cache/clangd/index/sandbox_syscalls.c.F39319C7CAB18873.idx differ diff --git a/.cache/clangd/index/sandbox_syscalls.h.2982B3AF75081B63.idx b/.cache/clangd/index/sandbox_syscalls.h.2982B3AF75081B63.idx new file mode 100644 index 00000000..35e998af Binary files /dev/null and b/.cache/clangd/index/sandbox_syscalls.h.2982B3AF75081B63.idx differ diff --git a/.cache/clangd/index/sighandler.c.8AF6B95CF47BDA3E.idx b/.cache/clangd/index/sighandler.c.8AF6B95CF47BDA3E.idx new file mode 100644 index 00000000..08689ea3 Binary files /dev/null and b/.cache/clangd/index/sighandler.c.8AF6B95CF47BDA3E.idx differ diff --git a/.cache/clangd/index/sighandler.h.5DF96922B45BD5B5.idx b/.cache/clangd/index/sighandler.h.5DF96922B45BD5B5.idx new file mode 100644 index 00000000..dbc2a688 Binary files /dev/null and b/.cache/clangd/index/sighandler.h.5DF96922B45BD5B5.idx differ diff --git a/.cache/clangd/index/signing.c.F5E0A30C5E6B126B.idx b/.cache/clangd/index/signing.c.F5E0A30C5E6B126B.idx new file mode 100644 index 00000000..6f85a7c2 Binary files /dev/null and b/.cache/clangd/index/signing.c.F5E0A30C5E6B126B.idx differ diff --git a/.cache/clangd/index/signing.h.AC6FB06D5CF1A00C.idx b/.cache/clangd/index/signing.h.AC6FB06D5CF1A00C.idx new file mode 100644 index 00000000..09f6e79e Binary files /dev/null and b/.cache/clangd/index/signing.h.AC6FB06D5CF1A00C.idx differ diff --git a/.cache/clangd/index/sync.c.11C89C8A83C44C58.idx b/.cache/clangd/index/sync.c.11C89C8A83C44C58.idx new file mode 100644 index 00000000..1830299a Binary files /dev/null and b/.cache/clangd/index/sync.c.11C89C8A83C44C58.idx differ diff --git a/.cache/clangd/index/sync.c.CBEC09F9541A92DC.idx b/.cache/clangd/index/sync.c.CBEC09F9541A92DC.idx new file mode 100644 index 00000000..67919754 Binary files /dev/null and b/.cache/clangd/index/sync.c.CBEC09F9541A92DC.idx differ diff --git a/.cache/clangd/index/sync.h.458E8EEACF56FDCC.idx b/.cache/clangd/index/sync.h.458E8EEACF56FDCC.idx new file mode 100644 index 00000000..996e82ec Binary files /dev/null and b/.cache/clangd/index/sync.h.458E8EEACF56FDCC.idx differ diff --git a/.cache/clangd/index/testpkg.c.86507D14046DE33E.idx b/.cache/clangd/index/testpkg.c.86507D14046DE33E.idx new file mode 100644 index 00000000..cf59e5a2 Binary files /dev/null and b/.cache/clangd/index/testpkg.c.86507D14046DE33E.idx differ diff --git a/.cache/clangd/index/trans.c.345EC941AC3F2E5A.idx b/.cache/clangd/index/trans.c.345EC941AC3F2E5A.idx new file mode 100644 index 00000000..155524a0 Binary files /dev/null and b/.cache/clangd/index/trans.c.345EC941AC3F2E5A.idx differ diff --git a/.cache/clangd/index/trans.h.3DB9CDB3030EFCD9.idx b/.cache/clangd/index/trans.h.3DB9CDB3030EFCD9.idx new file mode 100644 index 00000000..be519f03 Binary files /dev/null and b/.cache/clangd/index/trans.h.3DB9CDB3030EFCD9.idx differ diff --git a/.cache/clangd/index/upgrade.c.5DE8283FAA17BEFA.idx b/.cache/clangd/index/upgrade.c.5DE8283FAA17BEFA.idx new file mode 100644 index 00000000..30205e31 Binary files /dev/null and b/.cache/clangd/index/upgrade.c.5DE8283FAA17BEFA.idx differ diff --git a/.cache/clangd/index/util-common.c.F35F3E7F05086EF7.idx b/.cache/clangd/index/util-common.c.F35F3E7F05086EF7.idx new file mode 100644 index 00000000..00facaca Binary files /dev/null and b/.cache/clangd/index/util-common.c.F35F3E7F05086EF7.idx differ diff --git a/.cache/clangd/index/util-common.h.BD9989C26DC70F81.idx b/.cache/clangd/index/util-common.h.BD9989C26DC70F81.idx new file mode 100644 index 00000000..77e1e0f6 Binary files /dev/null and b/.cache/clangd/index/util-common.h.BD9989C26DC70F81.idx differ diff --git a/.cache/clangd/index/util.c.009A3B2AA7D06172.idx b/.cache/clangd/index/util.c.009A3B2AA7D06172.idx new file mode 100644 index 00000000..0c4373b7 Binary files /dev/null and b/.cache/clangd/index/util.c.009A3B2AA7D06172.idx differ diff --git a/.cache/clangd/index/util.c.0583A047061C04ED.idx b/.cache/clangd/index/util.c.0583A047061C04ED.idx new file mode 100644 index 00000000..7f99e5b2 Binary files /dev/null and b/.cache/clangd/index/util.c.0583A047061C04ED.idx differ diff --git a/.cache/clangd/index/util.h.2165FF3E412B019B.idx b/.cache/clangd/index/util.h.2165FF3E412B019B.idx new file mode 100644 index 00000000..84209f55 Binary files /dev/null and b/.cache/clangd/index/util.h.2165FF3E412B019B.idx differ diff --git a/.cache/clangd/index/util.h.42973FE0FE1E609E.idx b/.cache/clangd/index/util.h.42973FE0FE1E609E.idx new file mode 100644 index 00000000..0721b59a Binary files /dev/null and b/.cache/clangd/index/util.h.42973FE0FE1E609E.idx differ diff --git a/.cache/clangd/index/vercmp.c.1B6E8809092ADC15.idx b/.cache/clangd/index/vercmp.c.1B6E8809092ADC15.idx new file mode 100644 index 00000000..5511a826 Binary files /dev/null and b/.cache/clangd/index/vercmp.c.1B6E8809092ADC15.idx differ diff --git a/.cache/clangd/index/version.c.9B2628A8BD405A76.idx b/.cache/clangd/index/version.c.9B2628A8BD405A76.idx new file mode 100644 index 00000000..9a36c680 Binary files /dev/null and b/.cache/clangd/index/version.c.9B2628A8BD405A76.idx differ diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 0ad8db9d..932959b3 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -307,6 +307,8 @@ typedef enum _alpm_errno_t { ALPM_ERR_CONFLICTING_DEPS, /** Files conflict */ ALPM_ERR_FILE_CONFLICTS, + /** Removing optdepends of another dependency*/ + ALPM_ERR_REMOVING_OPTDEPENDS_DEPS, /* Misc */ /** Download failed */ ALPM_ERR_RETRIEVE, @@ -2817,7 +2819,7 @@ typedef enum _alpm_transflag_t { /** Ignore dependency conflicts. */ ALPM_TRANS_FLAG_NOCONFLICTS = (1 << 11), /** Cancel removal of package if it's optdepends of another package. */ - ALPM_TRANS_KEEP_OPTIONALS = (1 << 12), + ALPM_TRANS_FLAG_KEEPOPTIONALS = (1 << 12), /** Do not install a package if it is already installed and up to date. */ ALPM_TRANS_FLAG_NEEDED = (1 << 13), /** Use ALPM_PKG_REASON_EXPLICIT when installing packages. */ diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c index 8929fcb9..0c4b6d1e 100644 --- a/lib/libalpm/error.c +++ b/lib/libalpm/error.c @@ -137,6 +137,8 @@ const char SYMEXPORT *alpm_strerror(alpm_errno_t err) return _("conflicting dependencies"); case ALPM_ERR_FILE_CONFLICTS: return _("conflicting files"); + case ALPM_ERR_REMOVING_OPTDEPENDS_DEPS: + return _("removing optdepends of another dependency"); /* Miscellaenous */ case ALPM_ERR_RETRIEVE: return _("failed to retrieve some files"); diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c index 2da10fe6..dd9b7d58 100644 --- a/lib/libalpm/remove.c +++ b/lib/libalpm/remove.c @@ -160,9 +160,12 @@ static void remove_prepare_keep_needed(alpm_handle_t *handle, alpm_list_t *lp) * * @param handle the context handle * @param lp list of packages to be removed + * + * @return 0 when no optdepends of other packages are going to be removed, 1 in case it will remove optdepends of other packages */ -static void remove_notify_needed_optdepends(alpm_handle_t *handle, alpm_list_t *lp) +static int remove_notify_needed_optdepends(alpm_handle_t *handle, alpm_list_t *lp) { + int result = 0; alpm_list_t *i; for(i = _alpm_db_get_pkgcache(handle->db_local); i; i = alpm_list_next(i)) { @@ -180,12 +183,15 @@ static void remove_notify_needed_optdepends(alpm_handle_t *handle, alpm_list_t * .pkg = pkg, .optdep = optdep }; + result = 1; EVENT(handle, &event); } free(optstring); } } } + + return result; } /** @@ -206,6 +212,7 @@ int _alpm_remove_prepare(alpm_handle_t *handle, alpm_list_t **data) alpm_trans_t *trans = handle->trans; alpm_db_t *db = handle->db_local; alpm_event_t event; + int removing_optdepends; if((trans->flags & ALPM_TRANS_FLAG_RECURSE) && !(trans->flags & ALPM_TRANS_FLAG_CASCADE)) { @@ -257,8 +264,11 @@ int _alpm_remove_prepare(alpm_handle_t *handle, alpm_list_t **data) /* Note packages being removed that are optdepends for installed packages */ if(!(trans->flags & ALPM_TRANS_FLAG_NODEPS)) { - /*DEV_COMMENT: This is where the check is done, use this logic to check flag ALPM_TRANS_KEEP_OPTIONALS and abort transaction if flag set */ - remove_notify_needed_optdepends(handle, trans->remove); + removing_optdepends = remove_notify_needed_optdepends(handle, trans->remove); + } + + if (trans->flags & ALPM_TRANS_FLAG_KEEPOPTIONALS && removing_optdepends == 1) { + RET_ERR(handle, ALPM_ERR_REMOVING_OPTDEPENDS_DEPS, -1); } if(!(trans->flags & ALPM_TRANS_FLAG_NODEPS)) { diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index da5e2727..6105ab8e 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -731,7 +731,7 @@ static int parsearg_remove(int opt) break; case 'k': if (config->flags & ALPM_TRANS_FLAG_RECURSE || config->flags & ALPM_TRANS_FLAG_RECURSEALL) { - config->flags |= ALPM_TRANS_KEEP_OPTIONALS; + config->flags |= ALPM_TRANS_FLAG_KEEPOPTIONALS; } break; default: