• Exposing triggerer package information to triggers

    From KOLANICH@21:1/5 to All on Mon Jul 27 00:20:01 2020
    Hello. I think triggerer packages information should be exposed to triggers. In example we may want to have an index of information about installed packages in a form better suitable for lookup than files in info. I.e. a trie for file paths mapping them
    to packages. But this DB has to be updated. We can either update it fully on each installation, which is long, or selectively only for the packages installed. To do it we need the info about the packages installed be passed to triggers and hooks.

    I have implemented it partially (only for installation) in https://github.com/guillemj/dpkg/pull/3 . It serializes some info using bencode into an env variable. 1 serialized value in 1 env variable is chosen over multiple env vars with delimiters because
    it is easier to process it in scripts and more succinct. Bencode is chosen because it is text-based (env variables cannot contain arbitrary binary data, such as zero bytes, so unfortunately we cannot use CBOR/MSGPack/BSON), requires no characters
    escaping in strings, is easy to be implemented in C and mature enough to have libs available for langs.

    https://github.com/guillemj/dpkg/pull/3

    RnJvbSBhZjRhNTZhMDZhOWUzNDc3MzcwNzcyMTdjMzdjZmRiNmM0MTFhNmRmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLT0xBTklDSCA8a29sYW5fbkBtYWlsLnJ1PgpEYXRlOiBUaHUs IDIzIEp1bCAyMDIwIDE2OjM3OjA2ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gQWRkZWQgcGFzc2lu ZyB0aGUgbmVlZGVkIGluZm8gdGhyb3VnaCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQogaW4gYmVu Y29kZSBzZXJpYWxpemF0aW9uLiBDYW4gYmUgZnVydGhlciBleHRlbmRlZCwgaWYgd2UgbmVlZCBt b3JlIGluZm8uCgotLS0KIHNyYy9hcmNoaXZlcy5jIHwgMTA1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9tYWluLmggICAgIHwgIDE5ICsrKysr KysrLQogc3JjL3VucGFjay5jICAgfCAgMzIgKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5n ZWQsIDE1MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9h cmNoaXZlcy5jIGIvc3JjL2FyY2hpdmVzLmMKaW5kZXggZWUxYWU1MWVkLi5lYTllN2E2MDcgMTAw NjQ0Ci0tLSBhL3NyYy9hcmNoaXZlcy5jCisrKyBiL3NyYy9hcmNoaXZlcy5jCkBAIC0xNDY0LDYg KzE0NjQsMTA2IEBAIHZvaWQgY3VfZmlsZXNsaXN0KGludCBhcmdjLCB2b2lkICoqYXJndikgewog ICB0YXJfcG9vbF9yZWxlYXNlKCk7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgcGFzc2VkX3Rocm91Z2hf cGFja2FnZV9pbmZvIHBhc3NlZF90aHJvdWdoX3BhY2thZ2VfaW5mb19pbml0KCl7CisJc3RydWN0 IHBhc3NlZF90aHJvdWdoX3BhY2thZ2VfaW5mbyB1bnBhY2tlZEluZm87CisJdW5wYWNrZWRJbmZv LmNvdW50ID0gMDsKKwl1bnBhY2tlZEluZm8ucmVjb3JkcyA9IE5VTEw7CisJcmV0dXJuIHVucGFj a2VkSW5mbzsKK30KKworc3RhdGljIHZvaWQgZnJlZV9wYXNjYWxfc3RyaW5nKHN0cnVjdCBwYXNj YWxfc3RyICpzdHIpeworCWZyZWUoc3RyLT5wdHIpOworCXN0ci0+cHRyID0gTlVMTDsKKwlzdHIt PnNpemUgPSAwOworfQorCitzdGF0aWMgdm9pZCBmcmVlX3Bhc3NlZF90aHJvdWdoX3BhY2thZ2Vf aW5mb19yZWNvcmQoc3RydWN0IHBhc3NlZF90aHJvdWdoX3BhY2thZ2VfaW5mb19yZWNvcmQgKnIp eworCWZyZWVfcGFzY2FsX3N0cmluZygmci0+bmFtZSk7CisJZnJlZV9wYXNjYWxfc3RyaW5nKCZy LT5hcmNoKTsKKwlmcmVlX3Bhc2NhbF9zdHJpbmcoJnItPnZlcnNpb24pOworfQorCitzdGF0aWMg dm9pZCBwYXNzZWRfdGhyb3VnaF9wYWNrYWdlX2luZm9fZnJlZShzdHJ1Y3QgcGFzc2VkX3Rocm91 Z2hfcGFja2FnZV9pbmZvICp1bnBhY2tlZEluZm8peworCWZvcih1bnNpZ25lZCBzaG9ydCBpbnQg aSA9IDA7IGk8IHVucGFja2VkSW5mby0+Y291bnQ7ICsraSl7CisJCWZyZWVfcGFzc2VkX3Rocm91 Z2hfcGFja2FnZV9pbmZvX3JlY29yZCgmdW5wYWNrZWRJbmZvLT5yZWNvcmRzW2ldKTsKKwl9CisJ ZnJlZSh1bnBhY2tlZEluZm8tPnJlY29yZHMpOworCXVucGFja2VkSW5mby0+cmVjb3JkcyA9IE5V TEw7CisJdW5wYWNrZWRJbmZvLT5jb3VudCA9IDA7Cit9CisKK3N0YXRpYyBzaXplX3QgbWVhc3Vy ZV9iZW5jX3Bhc2NhbF9zdHIoc3RydWN0IHBhc2NhbF9zdHIgKnMpeworCXJldHVybiBzbnByaW50 ZihOVUxMLCAwLCAiJXp1OiIsIHMtPnNpemUpICsgcy0+c2l6ZTsKK30KKworc3RhdGljIHZvaWQg c2VyaWFsaXplX2JlbmNfcGFzY2FsX3N0cihjaGFyICoqc2VyUHRyLCBzdHJ1Y3QgcGFzY2FsX3N0 ciAqcyl7CisJKnNlclB0ciArPSBzcHJpbnRmKCpzZXJQdHIsICIlenU6JXMiLCBzLT5zaXplLCBz LT5wdHIpOworfQorc3RhdGljIHZvaWQgc2VyaWFsaXplX2JlbmNfdGFnKGNoYXIgKipzZXJQdHIs IGNoYXIgdGFnKXsKKwkqc2VyUHRyICs9IHNwcmludGYoKnNlclB0ciwgIjE6JWMiLCB0YWcpOwor fQorCitzdGF0aWMgdm9pZCBzZXJpYWxpemVfYmVuY190YWdfdmFsdWVfcGFpcihjaGFyICoqc2Vy UHRyLCBjaGFyIHRhZywgc3RydWN0IHBhc2NhbF9zdHIgKnMpeworCWlmKHMtPnB0cil7CisJCXNl cmlhbGl6ZV9iZW5jX3RhZyhzZXJQdHIsIHRhZyk7CisJCXNlcmlhbGl6ZV9iZW5jX3Bhc2NhbF9z dHIoc2VyUHRyLCBzKTsKKwl9Cit9CisKK2VudW0geworCU9VUl9CRU5DX0tFWV9UQUdfU0laRSA9 IDMsCisJQkVOQ19TVEFSVF9FTkQgPSAyLCAvLyBsPC4uLj5lCit9OworCitzdGF0aWMgc2l6ZV90 IG1lYXN1cmVfYmVuY190YWdfdmFsdWVfcGFpcihzdHJ1Y3QgcGFzY2FsX3N0ciAqcyl7CisJaWYo cy0+cHRyKXsKKwkJcmV0dXJuIG1lYXN1cmVfYmVuY19wYXNjYWxfc3RyKHMpICsgT1VSX0JFTkNf S0VZX1RBR19TSVpFOworCX0gZWxzZSB7CisJCXJldHVybiAwOworCX0KK30KKworCitzdGF0aWMg c2l6ZV90IHByZWNvbXB1dGVfdGhlX2JlbmNvZGVfc2VyaWFsaXplZF9zaXplKHN0cnVjdCBwYXNz ZWRfdGhyb3VnaF9wYWNrYWdlX2luZm8gKnVucGFja2VkSW5mbyl7CisgICAgc2l6ZV90IHRvdGFs U2l6ZSA9IEJFTkNfU1RBUlRfRU5EOworICAgIGludCBpOworICAgIGZvcihpPTA7aTx1bnBhY2tl ZEluZm8tPmNvdW50OysraSl7CisgICAgICBpZih1bnBhY2tlZEluZm8tPnJlY29yZHNbaV0ubmFt ZS5zaXplKXsKKyAgICAgICAgdG90YWxTaXplICs9IG1lYXN1cmVfYmVuY19wYXNjYWxfc3RyKCZ1 bnBhY2tlZEluZm8tPnJlY29yZHNbaV0ubmFtZSk7CisgICAgICAgIHRvdGFsU2l6ZSArPSBCRU5D X1NUQVJUX0VORDsKKyAgICAgICAgdG90YWxTaXplICs9IG1lYXN1cmVfYmVuY190YWdfdmFsdWVf cGFpcigmdW5wYWNrZWRJbmZvLT5yZWNvcmRzW2ldLmFyY2gpOworICAgICAgICB0b3RhbFNpemUg Kz0gbWVhc3VyZV9iZW5jX3RhZ192YWx1ZV9wYWlyKCZ1bnBhY2tlZEluZm8tPnJlY29yZHNbaV0u dmVyc2lvbik7CisgICAgICAgIHRvdGFsU2l6ZSArPSBtZWFzdXJlX2JlbmNfdGFnX3ZhbHVlX3Bh aXIoJnVucGFja2VkSW5mby0+cmVjb3Jkc1tpXS5vcmlnaW4pOworICAgICAgfQorICAgIH0KKyAg ICB0b3RhbFNpemUgKys7IC8vIG51bGwgdGVybWluYXRpb24KKyAgICByZXR1cm4gdG90YWxTaXpl OworfQorCitzdGF0aWMgdm9pZCBzZXJpYWxpemVfdGhlX2luZm9fYWJvdXRfdHJpZ2dlcmVyc19p bnRvX2FuX2Vudl92YXJpYWJsZShzdHJ1Y3QgcGFzc2VkX3Rocm91Z2hfcGFja2FnZV9pbmZvICp1 bnBhY2tlZEluZm8peworICAgIHVuc2lnbmVkIGludCBpOworICAgIHNpemVfdCB0b3RhbFNpemUg PSBwcmVjb21wdXRlX3RoZV9iZW5jb2RlX3NlcmlhbGl6ZWRfc2l6ZSh1bnBhY2tlZEluZm8pOwor ICAgIGNoYXIgYnVmNHN0clt0b3RhbFNpemVdOworCisgICAgbWVtc2V0KGJ1ZjRzdHIsICcgJywg dG90YWxTaXplKTsKKyAgICBidWY0c3RyW3RvdGFsU2l6ZSAtIDFdID0gMDsKKyAgICBjaGFyICog c2VyUHRyID0gJmJ1ZjRzdHJbMF07CisgICAgKihzZXJQdHIrKykgPSAnZCc7CisgICAgZm9yKGk9 MDtpPHVucGFja2VkSW5mby0+Y291bnQ7KytpKXsKKyAgICAgIHNlcmlhbGl6ZV9iZW5jX3Bhc2Nh bF9zdHIoJnNlclB0ciwgJnVucGFja2VkSW5mby0+cmVjb3Jkc1tpXS5uYW1lKTsKKyAgICAgICoo c2VyUHRyKyspID0gJ2QnOworICAgICAgc2VyaWFsaXplX2JlbmNfdGFnX3ZhbHVlX3BhaXIoJnNl clB0ciwgJ0EnLCAmdW5wYWNrZWRJbmZvLT5yZWNvcmRzW2ldLmFyY2gpOworICAgICAgc2VyaWFs aXplX2JlbmNfdGFnX3ZhbHVlX3BhaXIoJnNlclB0ciwgJ1YnLCAmdW5wYWNrZWRJbmZvLT5yZWNv cmRzW2ldLnZlcnNpb24pOworICAgICAgc2VyaWFsaXplX2JlbmNfdGFnX3ZhbHVlX3BhaXIoJnNl clB0ciwgJ08nLCAmdW5wYWNrZWRJbmZvLT5yZWNvcmRzW2ldLm9yaWdpbik7CisgICAgICAqKHNl clB0cisrKSA9ICdlJzsKKyAgICB9CisgICAgKihzZXJQdHIrKykgPSAnZSc7CisgICAgaWYoKHVu c2lnbmVkIGxvbmcpKChjaGFyKikgc2VyUHRyIC0gKGNoYXIqKSBidWY0c3RyKSA+IHRvdGFsU2l6 ZSl7CisgICAgICBvaHNoaXQoIkJ1ZmZlciBvdmVyZmxvdyAlenUgPiAlenUgISIsIChjaGFyKikg c2VyUHRyIC0gKGNoYXIqKSBidWY0c3RyLCB0b3RhbFNpemUpOworICAgIH0KKyAgICBzZXRlbnYo IkRQS0dfVFJJR0dFUkVSX1BBQ0tBR0VTX0lORk8iLCBidWY0c3RyLCAxKTsKK30KKwogaW50CiBh cmNoaXZlZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKmFyZ3YpCiB7CkBAIC0xNDcyLDYgKzE1NzIs NyBAQCBhcmNoaXZlZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKmFyZ3YpCiAgIGludCBpOwogICBq bXBfYnVmIGVqYnVmOwogICBlbnVtIG1vZHN0YXRkYl9ydyBtc2RiZmxhZ3M7CisgIHN0cnVjdCBw YXNzZWRfdGhyb3VnaF9wYWNrYWdlX2luZm8gdW5wYWNrZWRJbmZvID0gcGFzc2VkX3Rocm91Z2hf cGFja2FnZV9pbmZvX2luaXQoKTsKIAogICB0cmlncHJvY19pbnN0YWxsX2hvb2tzKCk7CiAKQEAg LTE1NzQsNyArMTY3NSw3IEBAIGFyY2hpdmVmaWxlcyhjb25zdCBjaGFyICpjb25zdCAqYXJndikK IAogICAgIGRwa2dfc2VsYWJlbF9sb2FkKCk7CiAKLSAgICBwcm9jZXNzX2FyY2hpdmUoYXJncFtp XSk7CisgICAgcHJvY2Vzc19hcmNoaXZlKGFyZ3BbaV0sICZ1bnBhY2tlZEluZm8pOwogICAgIG9u ZXJyX2Fib3J0Kys7CiAgICAgbV9vdXRwdXQoc3Rkb3V0LCBfKCI8c3RhbmRhcmQgb3V0cHV0PiIp KTsKICAgICBtX291dHB1dChzdGRlcnIsIF8oIjxzdGFuZGFyZCBlcnJvcj4iKSk7CkBAIC0xNTgy LDYgKzE2ODMsOCBAQCBhcmNoaXZlZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKmFyZ3YpCiAKICAg ICBwb3BfZXJyb3JfY29udGV4dChlaGZsYWdfbm9ybWFsdGlkeSk7CiAgIH0KKyAgc2VyaWFsaXpl X3RoZV9pbmZvX2Fib3V0X3RyaWdnZXJlcnNfaW50b19hbl9lbnZfdmFyaWFibGUoJnVucGFja2Vk SW5mbyk7CisgIHBhc3NlZF90aHJvdWdoX3BhY2thZ2VfaW5mb19mcmVlKCZ1bnBhY2tlZEluZm8p OwogCiAgIGRwa2dfc2VsYWJlbF9jbG9zZSgpOwogCmRpZmYgLS1naXQgYS9zcmMvbWFpbi5oIGIv c3JjL21haW4uaAppbmRleCBlN2ZlODIwYTcuLjcwZmU0N2Q5MiAxMDA2NDQKLS0tIGEvc3JjL21h aW4uaAorKysgYi9zcmMvbWFpbi5oCkBAIC0xNDIsNiArMTQyLDIzIEBAIHN0cnVjdCBpbnZva2Vf bGlzdCB7CiAJc3RydWN0IGludm9rZV9ob29rICpoZWFkLCAqKnRhaWw7CiB9OwogCitzdHJ1Y3Qg cGFzY2FsX3N0ciB7CisJc2l6ZV90IHNpemU7CisJY2hhciAqIHB0cjsKK307CisKK3N0cnVjdCBw YXNzZWRfdGhyb3VnaF9wYWNrYWdlX2luZm9fcmVjb3JkIHsKKwlzdHJ1Y3QgcGFzY2FsX3N0ciBu YW1lOworCXN0cnVjdCBwYXNjYWxfc3RyIGFyY2g7CisJc3RydWN0IHBhc2NhbF9zdHIgdmVyc2lv bjsKKwlzdHJ1Y3QgcGFzY2FsX3N0ciBvcmlnaW47Cit9OworCitzdHJ1Y3QgcGFzc2VkX3Rocm91 Z2hfcGFja2FnZV9pbmZveworCXVuc2lnbmVkIGludCBjb3VudDsKKwlzdHJ1Y3QgcGFzc2VkX3Ro cm91Z2hfcGFja2FnZV9pbmZvX3JlY29yZCAqcmVjb3JkczsKK307CisKIC8qIGZyb20gcGVycGtn c3RhdGUuYyAqLwogCiB2b2lkIGVuc3VyZV9wYWNrYWdlX2NsaWVudGRhdGEoc3RydWN0IHBrZ2lu Zm8gKnBrZyk7CkBAIC0xNDksNyArMTY2LDcgQEAgdm9pZCBlbnN1cmVfcGFja2FnZV9jbGllbnRk YXRhKHN0cnVjdCBwa2dpbmZvICpwa2cpOwogLyogZnJvbSBhcmNoaXZlcy5jICovCiAKIGludCBh cmNoaXZlZmlsZXMoY29uc3QgY2hhciAqY29uc3QgKmFyZ3YpOwotdm9pZCBwcm9jZXNzX2FyY2hp dmUoY29uc3QgY2hhciAqZmlsZW5hbWUpOwordm9pZCBwcm9jZXNzX2FyY2hpdmUoY29uc3QgY2hh ciAqZmlsZW5hbWUsIHN0cnVjdCBwYXNzZWRfdGhyb3VnaF9wYWNrYWdlX2luZm8gKnVucGFja2Vk SW5mbyk7CiBib29sIHdhbnR0b2luc3RhbGwoc3RydWN0IHBrZ2luZm8gKnBrZyk7CiAKIC8qIGZy b20gdXBkYXRlLmMgKi8KZGlmZiAtLWdpdCBhL3NyYy91bnBhY2suYyBiL3NyYy91bnBhY2suYwpp bmRleCA0YTE0MzY2NmUuLmY2YTcxNmQxMSAxMDA2NDQKLS0tIGEvc3JjL3VucGFjay5jCisrKyBi L3NyYy91bnBhY2suYwpAQCAtMTA2NCw3ICsxMDY0LDM2IEBAIHBrZ19yZW1vdmVfYmFja3VwX2Zp bGVzKHN0cnVjdCBwa2dpbmZvICpwa2csIHN0cnVjdCBmc3lzX25hbWVub2RlX2xpc3QgKm5ld2Zp bGVzCiAgIH0KIH0KIAotdm9pZCBwcm9jZXNzX2FyY2hpdmUoY29uc3QgY2hhciAqZmlsZW5hbWUp IHsKKworc3RydWN0IHBhc2NhbF9zdHIgaW5pdF9wYXNjYWxfc3RyKGNoYXIgKiBzKXsKKwlzdHJ1 Y3QgcGFzY2FsX3N0ciByZXM7CisJaWYocyl7CisJCXJlcy5zaXplID0gc3RybGVuKHMpOworCQly ZXMucHRyID0gbWFsbG9jKHJlcy5zaXplICsgMSk7CisJCXN0cmNweShyZXMucHRyLCBzKTsKKwl9 ZWxzZXsKKwkJcmVzLnNpemUgPSAwOworCQlyZXMucHRyID0gTlVMTDsKKwl9CisJcmV0dXJuIHJl czsKK30KKworCit2b2lkIHBhc3NlZF90aHJvdWdoX3BhY2thZ2VfaW5mb19hcHBlbmQoc3RydWN0 IHBhc3NlZF90aHJvdWdoX3BhY2thZ2VfaW5mbyAqdW5wYWNrZWRJbmZvLCBzdHJ1Y3QgcGtnaW5m byAqcGtnKXsKKwlzdHJ1Y3QgcGFzc2VkX3Rocm91Z2hfcGFja2FnZV9pbmZvX3JlY29yZCAqIHJl YzsKKwl1bnNpZ25lZCBpbnQgcHJldkNvdW50QW5kSW5kZXggPSB1bnBhY2tlZEluZm8tPmNvdW50 OworCXVucGFja2VkSW5mby0+cmVjb3JkcyA9IHJlYWxsb2ModW5wYWNrZWRJbmZvLT5yZWNvcmRz LCBzaXplb2Yoc3RydWN0IHBhc3NlZF90aHJvdWdoX3BhY2thZ2VfaW5mb19yZWNvcmQpICogKCsr dW5wYWNrZWRJbmZvLT5jb3VudCkpOworCWlmKCF1bnBhY2tlZEluZm8tPnJlY29yZHMpeworCQlv aHNoaXRlKF8oIlVuYWJsZSB0byByZWFsbG9jYXRlIGluICVzIiksIF9fZnVuY19fKTsKKwl9CisJ cmVjID0gJih1bnBhY2tlZEluZm8tPnJlY29yZHNbcHJldkNvdW50QW5kSW5kZXhdKTsKKwlyZWMt Pm5hbWUgPSBpbml0X3Bhc2NhbF9zdHIocGtnLT5zZXQtPm5hbWUpOworCXJlYy0+dmVyc2lvbiA9 IGluaXRfcGFzY2FsX3N0cihwa2ctPmF2YWlsYWJsZS52ZXJzaW9uLnZlcnNpb24pOworCXJlYy0+ YXJjaCA9IGluaXRfcGFzY2FsX3N0cihwa2ctPmF2YWlsYWJsZS5hcmNoLT5uYW1lKTsKKwlyZWMt Pm9yaWdpbiA9IGluaXRfcGFzY2FsX3N0cihwa2ctPmF2YWlsYWJsZS5vcmlnaW4pOworfQorCit2 b2lkIHByb2Nlc3NfYXJjaGl2ZShjb25zdCBjaGFyICpmaWxlbmFtZSwgc3RydWN0IHBhc3NlZF90 aHJvdWdoX3BhY2thZ2VfaW5mbyAqdW5wYWNrZWRJbmZvKSB7CiAgIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgdGFyX29wZXJhdGlvbnMgdGYgPSB7CiAgICAgLnJlYWQgPSB0YXJmaWxlcmVhZCwKICAgICAu ZXh0cmFjdF9maWxlID0gdGFyb2JqZWN0LApAQCAtMTE0Niw2ICsxMTc1LDcgQEAgdm9pZCBwcm9j ZXNzX2FyY2hpdmUoY29uc3QgY2hhciAqZmlsZW5hbWUpIHsKIAogICBwYXJzZWRiKGNpZGlyLCBw YXJzZWRiX2ZsYWdzLCAmcGtnKTsKIAorICBwYXNzZWRfdGhyb3VnaF9wYWNrYWdlX2luZm9fYXBw ZW5kKHVucGFja2VkSW5mbywgcGtnKTsKICAgaWYgKCFwa2ctPmFyY2hpdmVzKSB7CiAgICAgcGtn LT5hcmNoaXZlcyA9IG5mbWFsbG9jKHNpemVvZigqcGtnLT5hcmNoaXZlcykpOwogICAgIHBrZy0+ YXJjaGl2ZXMtPm5leHQgPSBOVUxMOwo=

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Guillem Jover@21:1/5 to KOLANICH on Sat Aug 1 22:50:01 2020
    Hi!

    On Mon, 2020-07-27 at 00:15:12 +0300, KOLANICH wrote:
    I think triggerer packages information should be exposed to
    triggers. In example we may want to have an index of information
    about installed packages in a form better suitable for lookup than
    files in info. I.e. a trie for file paths mapping them to packages.
    But this DB has to be updated. We can either update it fully on each installation, which is long, or selectively only for the packages
    installed. To do it we need the info about the packages installed
    be passed to triggers and hooks.

    Hmm, do you mean you want to have a parallel database that pretty much
    matches the one in dpkg, and you want to add a trigger on say «/» to
    update that database on each package installation? Or am I
    misunderstanding?

    If the former, that just seems wrong on so many levels. :)

    While the doc/triggers.txt spec mentions a possibility for this in the DISCUSSION section, we have never really needed it, and its need does
    seem dubious to me TBH.

    Thanks,
    Guillem

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)