1. 04 Jan, 2020 4 commits
  2. 03 Jan, 2020 1 commit
    • Evilham's avatar
      Add support for .xz files. · 4a70b6d3
      Evilham authored
      buster-backports sources do not ship Sources.gz.
      
      To answer the question in the deleted comment: no we shouldn't.
      4a70b6d3
  3. 07 Dec, 2019 2 commits
  4. 06 Dec, 2019 1 commit
  5. 02 Dec, 2019 2 commits
  6. 01 Dec, 2019 1 commit
  7. 14 Sep, 2019 1 commit
    • Evilham's avatar
      Fix locking by using flock instead of tombstone files. · 8b277c4e
      Evilham authored
      Necessary changes to orchestrate.sh:
      
      The way I understand things, there are three processes (A,B,C)
      A. amprolla_update is run with orchestrate.sh (very often!):
      1. there is always a consistent working set in merged which usually points to
         merged-production
      2. before amprolla_update, merged switches to merged-staging (why here and not
         after amprolla_update?)
      3. amprolla_update works against -volatile, during this process that directory
         is not necessarily fully consistent
      4. after amprolla_update, merged-volatile is synchronised to merged-production
      5. merged switches to merged-production
      6. merged-volatile is synchronised to merged-staging
      7. merged-production is synchronised to pkgmaster
      
      B. Sometimes amprolla_merge is run
      C. Sometimes amprolla_merge_contents + amprolla_merge are run
      
      The *intent* of the implemented locks appears to be that only one process out
      of A,B,C is active at a time, but the reality is that this is not formally
      provided, timing just happens to match, but shouldn't be relied upon:
      Existence of an active lock does prevent A, B or C from starting.
      But in A the lock is only active while point A.3. is executed, everything else
      runs without an active lock, so if e.g. A.4 to A.7 take long enough that A.4 is
      running again while A.7 is happening, bogus data will be synchronised to
      pkgmaster.
      Since A.7 is a network operation and A.5 and A.6 are disk operations, delays
      *could* happen and they could lead to this scenario (maybe it has happened at
      some point).
      
      That's why I added the support for the --no-lock-I-am-sure argument to
      amprolla_update, and instead obtain the lock as a step A.0 that is valid
      throughout all process A in the orchestrate.sh script.
      
      With that, I think there is now only need for 2 directories: -volatile and
      -production, with A being redefined as:
      
      A. amprolla_update is run with orchestrate.sh (very often!):
      0. obtain amprolla lock and exit if it can't be obtained
      1. there is always a consistent working set in merged which usually points to
         merged-production
      2. amprolla_update --no-lock-I-am-sure works against -volatile, during this
         process that directory is not necessarily fully consistent
      3. merged switches to merged-volatile
      4. merged-volatile is synchronised to merged-production
      5. merged switches to merged-production
      7. merged-production is synchronised to pkgmaster
      
      I have adapted orchestrate.sh and therefore merged-staging is not used with
      these patches and could be removed in theory.
      8b277c4e
  8. 17 Jun, 2019 1 commit
  9. 01 Nov, 2018 1 commit
  10. 24 Jun, 2018 2 commits
    • parazyd's avatar
      Apply linting. · 7071810d
      parazyd authored
      This commit does not change any functionality, just improves
      readability.
      7071810d
    • KatolaZ's avatar
      Implement dependency alternatives parsing. · 4268288f
      KatolaZ authored
      This commit adds support for parsing dependencies which contain
      alternatives, e.g. "foo | bar".
      
      Currently it is utilized for banning packages.
      4268288f
  11. 19 Jun, 2018 2 commits
  12. 11 Jun, 2018 1 commit
  13. 10 Jun, 2018 2 commits
  14. 08 Apr, 2018 2 commits
  15. 26 Feb, 2018 1 commit
  16. 06 Feb, 2018 1 commit
  17. 05 Feb, 2018 1 commit
  18. 04 Jan, 2018 1 commit
  19. 19 Dec, 2017 4 commits
  20. 17 Dec, 2017 2 commits
  21. 16 Dec, 2017 4 commits
  22. 10 Dec, 2017 1 commit
  23. 09 Dec, 2017 2 commits