- 0
- 0
- 约8.41千字
- 约 6页
- 2023-04-24 发布于上海
- 举报
Automagic dependencies, what they
are and how to fix them
Content:
Introduction
What are automagic dependencies?
The so-called automagic dependencies are shallow dependencies of a software recognized at build or runtime and changes the way the software works. The name automagic is a pun referred to the use of GNU autotools, that produces most of the cases of automagic dependencies.
Software usually have two kind of dependencies: mandatory dependencies and optional dependencies. The first kind of dependencies are needed to use the software (that might be a library or a program), and cannot be missing in the system while building or running the program (depending whether they are build or runtime dependencies). Optional dependencies are the ones that can be disabled, usually at buildtime (but sometimes at runtime, too).
Optional dependencies are usually up to the user (or the builder) to enable or disable, the classical example is brought by the --enable-foo or
--with-bar options at ./configure call (those parameters are used to enable dependencies that are off by default, but there are cases when the dependencies are on by default so you have --disable-foo and
--without-bar).
But with build systems that tries to understand what is present in the system they are building it, sometimes dependencies get automagic. This means that the build system doesnt give the builder a way to decide if he wants something enabled, so the dependency added, but they just enable it when they find it. This is the wrong behavior.
Why automagic dependencies are wrong
In the case of binary-based distributions, like RPM or DEB based ones, automagic dependencies does not change anything: if the user has something installed and is building by hand, its usually what he wants to enable, while if its the maintainer, hell just have to add a dependency over the packages required to run the binaries he has created.
Different is for source-based distributions like Gentoo Linux (and variants). As sourc
您可能关注的文档
- 2020教师师德培训总结.docx
- 2021年pep小升初英语模拟测试题.docx
- 02197概率论与数理统计重点复习资料.docx
- 06001惠港酒店发文格式.docx
- 06005 统一打卡通知.docx
- 06092工作分析八套试卷 答案.docx
- 10000汉字起笔部首表.docx
- 11000地形测量技术设计.docx
- 20000字起笔部首检字表.docx
- 20148小继教培训心得体会.docx
- 宣贯培训(2026年)《YDT 6061-2024切片分组网络(SPN)细粒度承载测试方法》.pptx
- 2025年智慧物流十年发展:仓储管理与配送优化报告.docx
- 2026年智能电网调度系统智能故障诊断技术报告.docx
- 2026年啤酒行业社交电商消费场景品牌报告.docx
- 2026年直播电商平台合规运营报告.docx
- 中医院统计数据分析.docx
- 2026年数字孪生技术驱动汽车工厂虚拟调试创新.docx
- 基于国家智慧教育云平台的高效教学资源整合与创新教学模式探索教学研究课题报告.docx
- 2026年速冻食品行业冷链物流及质量冷链创新报告.docx
- 2026年西餐本土化消费者行为分析.docx
最近下载
- 浙江省湖州市吴兴区2024-2025学年三年级上册期末考试数学试卷(含答案).docx VIP
- 《跨文化交际》第五章 跨文化的非语言交际 PPT课件.pptx VIP
- 多发性骨髓瘤护理查房(共30张PPT).pptx VIP
- 上海高考英语阅读理解巧上海高考英语阅读理解技巧.doc VIP
- 2026年车间生产工作计划范文.docx
- 2026年车间生产工作计划范文.docx
- 2026年党支部在学习贯彻党的创新理论、加强党性锤炼等“对照五个方面”存在的问题及整改措施4030字范文.docx VIP
- 高二英语试题及答案.doc VIP
- 网络预约出租汽车驾驶员从业资格考试区域科目考题[精品文档].docx VIP
- 阿布扎比2030经济愿景.pdf VIP
原创力文档

文档评论(0)