Portage - the Current Implementation the Future Conclusion

Portage - the Current Implementation the Future Conclusion

Package Managing in General Portage - The Current Implementation The Future Conclusion Portage - A modern package manager Marius Mauch <[email protected]> FOSDEM 2005 Portage - A modern package manager Marius Mauch <[email protected]> Package Managing in General Portage - The Current Implementation The Future Conclusion Outline Package Managing in General Portage - The Current Implementation Features The Portage Tree The Future Short Term Long Term Conclusion Portage - A modern package manager Marius Mauch <[email protected]> • More general: • Payload: actual source or binary files • Metadata: descriptive information (homepage, dependencies, ...) • Instructions: build and install scripts • Different kind of packages: binary vs. source (vs. installed) • Common formats: Tarball, RPM Package Managing in General Portage - The Current Implementation The Future Conclusion What is a Package? • Simplest case: tarball of files Portage - A modern package manager Marius Mauch <[email protected]> • Different kind of packages: binary vs. source (vs. installed) • Common formats: Tarball, RPM Package Managing in General Portage - The Current Implementation The Future Conclusion What is a Package? • Simplest case: tarball of files • More general: • Payload: actual source or binary files • Metadata: descriptive information (homepage, dependencies, ...) • Instructions: build and install scripts Portage - A modern package manager Marius Mauch <[email protected]> • Common formats: Tarball, RPM Package Managing in General Portage - The Current Implementation The Future Conclusion What is a Package? • Simplest case: tarball of files • More general: • Payload: actual source or binary files • Metadata: descriptive information (homepage, dependencies, ...) • Instructions: build and install scripts • Different kind of packages: binary vs. source (vs. installed) Portage - A modern package manager Marius Mauch <[email protected]> Package Managing in General Portage - The Current Implementation The Future Conclusion What is a Package? • Simplest case: tarball of files • More general: • Payload: actual source or binary files • Metadata: descriptive information (homepage, dependencies, ...) • Instructions: build and install scripts • Different kind of packages: binary vs. source (vs. installed) • Common formats: Tarball, RPM Portage - A modern package manager Marius Mauch <[email protected]> • Dependency handling • Searching for packages • Querying metadata from packages • Conversion between package formats Package Managing in General Portage - The Current Implementation The Future Conclusion Tasks of a Package Manager • Installation and removal of packages Portage - A modern package manager Marius Mauch <[email protected]> • Searching for packages • Querying metadata from packages • Conversion between package formats Package Managing in General Portage - The Current Implementation The Future Conclusion Tasks of a Package Manager • Installation and removal of packages • Dependency handling Portage - A modern package manager Marius Mauch <[email protected]> • Querying metadata from packages • Conversion between package formats Package Managing in General Portage - The Current Implementation The Future Conclusion Tasks of a Package Manager • Installation and removal of packages • Dependency handling • Searching for packages Portage - A modern package manager Marius Mauch <[email protected]> • Conversion between package formats Package Managing in General Portage - The Current Implementation The Future Conclusion Tasks of a Package Manager • Installation and removal of packages • Dependency handling • Searching for packages • Querying metadata from packages Portage - A modern package manager Marius Mauch <[email protected]> Package Managing in General Portage - The Current Implementation The Future Conclusion Tasks of a Package Manager • Installation and removal of packages • Dependency handling • Searching for packages • Querying metadata from packages • Conversion between package formats Portage - A modern package manager Marius Mauch <[email protected]> Package Managing in General Portage - The Current Implementation The Future Conclusion Existing Package Managers • RPM - Redhat, Suse, Mandrake, ... • dpkg - Debian • Portage - Gentoo • Ports - FreeBSD, OpenBSD, NetBSD • MSI - Windows • ... Portage - A modern package manager Marius Mauch <[email protected]> Package Managing in General Portage - The Current Implementation The Future Conclusion Outline Package Managing in General Portage - The Current Implementation Features The Portage Tree The Future Short Term Long Term Conclusion Portage - A modern package manager Marius Mauch <[email protected]> • Abstraction over ./configure arguments • USE flags can define optional dependencies • Example: USE=ssl • Enables optional OpenSSL support in all packages • Adds OpenSSL as additional dependency Package Managing in General Portage - The Current Implementation The Future Conclusion Features USE Flags • Specify optional behavior Portage - A modern package manager Marius Mauch <[email protected]> • USE flags can define optional dependencies • Example: USE=ssl • Enables optional OpenSSL support in all packages • Adds OpenSSL as additional dependency Package Managing in General Portage - The Current Implementation The Future Conclusion Features USE Flags • Specify optional behavior • Abstraction over ./configure arguments Portage - A modern package manager Marius Mauch <[email protected]> • Example: USE=ssl • Enables optional OpenSSL support in all packages • Adds OpenSSL as additional dependency Package Managing in General Portage - The Current Implementation The Future Conclusion Features USE Flags • Specify optional behavior • Abstraction over ./configure arguments • USE flags can define optional dependencies Portage - A modern package manager Marius Mauch <[email protected]> Package Managing in General Portage - The Current Implementation The Future Conclusion Features USE Flags • Specify optional behavior • Abstraction over ./configure arguments • USE flags can define optional dependencies • Example: USE=ssl • Enables optional OpenSSL support in all packages • Adds OpenSSL as additional dependency Portage - A modern package manager Marius Mauch <[email protected]> • Each package can have multiple versions available • Current version selected by user configuration • Influencing factors: platform, base profile, branch, global mask list • Manual selection also possible Package Managing in General Portage - The Current Implementation The Future Conclusion Features The Concept of Masking • Only one repository for all branches and versions Portage - A modern package manager Marius Mauch <[email protected]> • Current version selected by user configuration • Influencing factors: platform, base profile, branch, global mask list • Manual selection also possible Package Managing in General Portage - The Current Implementation The Future Conclusion Features The Concept of Masking • Only one repository for all branches and versions • Each package can have multiple versions available Portage - A modern package manager Marius Mauch <[email protected]> • Influencing factors: platform, base profile, branch, global mask list • Manual selection also possible Package Managing in General Portage - The Current Implementation The Future Conclusion Features The Concept of Masking • Only one repository for all branches and versions • Each package can have multiple versions available • Current version selected by user configuration Portage - A modern package manager Marius Mauch <[email protected]> • Manual selection also possible Package Managing in General Portage - The Current Implementation The Future Conclusion Features The Concept of Masking • Only one repository for all branches and versions • Each package can have multiple versions available • Current version selected by user configuration • Influencing factors: platform, base profile, branch, global mask list Portage - A modern package manager Marius Mauch <[email protected]> Package Managing in General Portage - The Current Implementation The Future Conclusion Features The Concept of Masking • Only one repository for all branches and versions • Each package can have multiple versions available • Current version selected by user configuration • Influencing factors: platform, base profile, branch, global mask list • Manual selection also possible Portage - A modern package manager Marius Mauch <[email protected]> • Check repository for current version of gphoto2 • Automatically install all dependencies of gphoto2 • Download, compile and install gphoto-2.1.5.tar.gz • Example: emerge gphoto2 • Same tool to update the repository: emerge sync Package Managing in General Portage - The Current Implementation The Future Conclusion Features Emerge - The Convenient User Interface • One command to search, download, build, install, uninstall Portage - A modern package manager Marius Mauch <[email protected]> • Check repository for current version of gphoto2 • Automatically install all dependencies of gphoto2 • Download, compile and install gphoto-2.1.5.tar.gz • Same tool to update the repository: emerge sync Package Managing in General Portage - The Current Implementation The Future Conclusion Features Emerge - The Convenient User Interface • One command to search, download, build, install, uninstall • Example: emerge gphoto2 Portage - A modern package manager Marius Mauch <[email protected]> • Automatically install all dependencies of gphoto2 • Download, compile and install gphoto-2.1.5.tar.gz • Same tool to update

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    70 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us