Code Monkey home page Code Monkey logo

Comments (8)

lilydjwg avatar lilydjwg commented on June 23, 2024

那我那些用 rust-nightly 构建的 rust 包就……

from lilac.

yuyichao avatar yuyichao commented on June 23, 2024

对官方包的依赖也没有自动更新, 所以虽然考虑过这个, 不过是不是用 update_on 手动指定下会好些...

from lilac.

petronny avatar petronny commented on June 23, 2024

我想了一下,我们需要repo_dependsrepo_makedepends...

现在的repo_depends一律迁移为repo_makedepends

from lilac.

yuyichao avatar yuyichao commented on June 23, 2024

其实并不完全是 depends 跟 makedepends 的区别?

要不要重新编译实际上取决于重新编译的结果有没有实质的区别. 即使是运行时需要的 (depends), 对编译的结果也不一定有影响. 即使只是编译时需要的, 编译的结果也可能有变化...

from lilac.

petronny avatar petronny commented on June 23, 2024

那。。。repo_depends不变,要rebuild的挪到一个auto_rebuild_repo_depends
或者给repo_depends的项加一个auto_rebuild参数?

from lilac.

petronny avatar petronny commented on June 23, 2024

我想了一下主要还是解决的是 .so 文件的问题。。。
所以叫 repo_so_depends 也是可以的。。。

然后我想了一个自动检查 repo_so_depends 的流程:

for package_i in all_packages:
  so_files = find all `.so*` files in package_i with `pacman -Sl`
  for so_file in so_files:
    linked_dynamic_libraries = get the linked dynamic libraries of so_file by `ldd`
    for linked_dynamic_library in linked_dynamic_libraries:
      if linked_dynamic_library matches `.so.pkgver*`:
        rebuild_dependency = find which package contains linked_dynamic_library by `pacman -F` (need functools.lru_cache)
        print(f"{package_i} should be rebuilt when {rebuild_dependency} is updated.")

from lilac.

yuyichao avatar yuyichao commented on June 23, 2024

自动检测so变化很好,不过还是有很多其他种类的依赖的。。。

from lilac.

lilydjwg avatar lilydjwg commented on June 23, 2024

已实现为 lilac.yaml 中的 update_on_build 项。

from lilac.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.