Skip to content
Snippets Groups Projects
  1. Feb 11, 2020
    • Karel Koci's avatar
      lists/migrate3x: Add provides and virtuals to pass migration · eb11dbad
      Karel Koci authored and Karel Koci's avatar Karel Koci committed
      We have problem of chicken and egg. To know if we can update we need to
      update updater but doing so we have to start updating system. The
      problem is that reverting to 3.x with new updater would be pretty hacky
      and is also not something we want. The common problem is that users
      install some packages with opkg and those are added to updater's
      /etc/updater/conf.d/opkg-auto.lua file. Updater is stuck when such
      package is no longer provided. Modifying given file is not ideal because
      user can have other files that are not automatically managed and running
      replacement scripts on them is not good idea. Instead it is better to
      ensure that update proceeds even if there is a request for package that
      is no longer in repository.
      
      This commit adds two types of rules for packages that are not in Turris
      OS 4.0 compared to Turris OS 3.x.
      Fist rule is to convince updater that package exists but is effectively
      empty. That is done by marking package as virtual:
          Package("NAME", { virtual = true })
      Other rule is that package is somewhat replaced by some other package
      and we add temporally provide for missing package in to it:
          Package("EXISTING", { provides = {"NAME"} })
      
      This should push problems with requests for non-existing packages to
      last step of migration, that is after removal of tos3to4 package.
      
      The list I worked on here was generated only for Omnia. Turris 1.x
      should be almost same and mostly just subset so this should be enough.
      First I downloaded all repositories indexes from 3.11.9 and from 4.0.1.
      
          cd 3x
          for repo in base hardware lucics management node openwisp packages php printing routing sidn telephony turrispackages; do curl https://repo.turris.cz/omnia/packages/$repo/Packages > $repo; done
          cd ../4x
          for repo in base core luci openwisp packages routing sidn telephony turrispackages; do curl https://repo.turris.cz/hbs/omnia/packages/$repo/Packages > $repo; done
      
      Next step was to collect all package names.
      
          cd ../3x
          for repo in $(ls); do sed -n 's/Package: \(.*\)/\1/p' $repo; done | sort > ../3s
          cd ../4x
          for repo in $(ls); do sed -n 's/Package: \(.*\)/\1/p' $repo; done | sort > ../4s
      
      And lastly diff was made for packages missing in 4s but present in 3s:
      
          cd ..
          diff --new-line-format="" --unchanged-line-format="" 3s 4s
      Verified
      eb11dbad
  2. Feb 09, 2020
  3. Feb 07, 2020
  4. Feb 06, 2020
  5. Feb 03, 2020
  6. Jan 30, 2020
    • Karel Koci's avatar
      generate_lists: fix usage with output path · b8e90e3e
      Karel Koci authored
      The default value of output_path should have been set after arguments
      parsing as empty variable is used to detect if variable was provided or
      not.
      
      Also change help as OUTPUT_PATH is optional and there is default in
      place if not provided.
      Verified
      b8e90e3e
  7. Jan 29, 2020
  8. Jan 28, 2020
  9. Jan 27, 2020
  10. Jan 26, 2020
  11. Jan 24, 2020
  12. Jan 21, 2020
  13. Jan 20, 2020
  14. Jan 18, 2020
  15. Jan 16, 2020
  16. Jan 15, 2020