{"id":18311,"date":"2013-06-04T11:32:39","date_gmt":"2013-06-04T09:32:39","guid":{"rendered":"https:\/\/mamchenkov.net\/wordpress\/?p=18311"},"modified":"2013-06-04T11:32:40","modified_gmt":"2013-06-04T09:32:40","slug":"the-future-of-package-management-in-fedora","status":"publish","type":"post","link":"https:\/\/mamchenkov.net\/wordpress\/2013\/06\/04\/the-future-of-package-management-in-fedora\/","title":{"rendered":"The future of package management in Fedora"},"content":{"rendered":"<!-- google_ad_section_start -->\n<p><a href=\"http:\/\/blogs.gnome.org\/hughsie\/2013\/05\/29\/the-future-of-package-management-in-fedora\/\">The future of package management in Fedora<\/a><\/p>\n<p>It&#8217;s nice to see there is hope for a better package management in Fedora&#8230;<\/p>\n<blockquote>\n<ul>\n<li>YUM upstream will soon be considered deprecated, and we will move into a DNF\/hawkey\/librepo-based future. This includes PackageKit. I\u2019m going to be building a hawkey based backend with help from the maintainer, and he is is aware of what PK does and any unusual tasks that are performance critical.<\/li>\n<li>We should keep old versions of metadata on the server to stop metadata refresh explosions happening where yesterdays primary gets updated because a transaction only has todays filelists installed. This will significantly reduce the amount of bandwidth used by the metadata updates.<\/li>\n<li>We should keep old versions of packages on the mirrors, to avoid the case where we depsolve fine, get 404 on the package download and then have to re-download MD, depsolve, etc. YUM apparently has issues with multiple versions of a package being present in the metadata, so we should probably only reference the latest packages in the MD (which also keeps the MD to sane size).<\/li>\n<li>We should ship the per-arch solv files in the repo MD. This avoids SAT solutions like libsolv from spending 20 seconds+ per repo rebuilding .solv files from sqlite or xml metadata, and allows us to kill the dnf cron job<\/li>\n<li>We should teach rpm to update it\u2019s own SAT database, which we can do with an RPM plugin.<\/li>\n<li>We want a software center, and fedora-tagger can provide the ratings\/comments information. We might need an OCS server for screenshots, or can tie in screenshots with automated QA somehow.<\/li>\n<li>We are going to teach koji about appstream data, so a simple extract script (to be written by me) can produce a .tar file of icons and a .xml file of translated descriptions at the end of each koji build<\/li>\n<li>We are going to teach the compose tools to xmlmerge all the appstream .xml files and ship as appstream.xml<\/li>\n<li>We are going to teach the compose tools to join all the tar files and ship as appstream-data.tar.gz<\/li>\n<li>We are going to investigate the use of meta-desktop files to install a super-set of applications, e.g. KDE, or \u201cPython developer\u201d which allows for screenshots, ratings and all that stuff.<\/li>\n<\/ul>\n<\/blockquote>\n<!-- google_ad_section_end -->\n","protected":false},"excerpt":{"rendered":"<!-- google_ad_section_start -->\n<p>The future of package management in Fedora It&#8217;s nice to see there is hope for a better package management in Fedora&#8230; YUM upstream will soon be considered deprecated, and we will move into a DNF\/hawkey\/librepo-based future. This includes PackageKit. I\u2019m going to be building a hawkey based backend with help from the maintainer, and he &hellip; <a href=\"https:\/\/mamchenkov.net\/wordpress\/2013\/06\/04\/the-future-of-package-management-in-fedora\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">The future of package management in Fedora<\/span><\/a><\/p>\n<!-- google_ad_section_end -->\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"link","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_links_to":"","_links_to_target":""},"categories":[1,6,62],"tags":[2351,3196,698],"keyring_services":[],"class_list":["post-18311","post","type-post","status-publish","format-link","hentry","category-general","category-linux","category-technology","tag-fedora-linux","tag-package-management","tag-rpm","post_format-post-format-link"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[{"id":22791,"url":"https:\/\/mamchenkov.net\/wordpress\/2014\/11\/03\/fpm-build-packages-for-multiple-platforms-deb-rpm-etc-with-great-ease-and-sanity\/","url_meta":{"origin":18311,"position":0},"title":"fpm &#8211; build packages for multiple platforms (deb, rpm, etc) with great ease and sanity","author":"Leonid Mamchenkov","date":"November 3, 2014","format":"link","excerpt":"fpm -\u00a0Effing package management! Build packages for multiple platforms (deb, rpm, etc) with great ease and sanity.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":11164,"url":"https:\/\/mamchenkov.net\/wordpress\/2008\/04\/22\/preupgrading-fedora-9\/","url_meta":{"origin":18311,"position":1},"title":"Preupgrading Fedora 9","author":"Leonid Mamchenkov","date":"April 22, 2008","format":false,"excerpt":"Fedora 9 is coming Real Soon Now \u00a9. I mentioned before that I am desperately waiting for this release, since it brings KDE 4 and Firefox 3. One thing that I haven't seen noticed anywhere until I read this interview is \"preupgrade\". It sounds pretty cool: By now, the \u201cpreupgrade\u201d\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18307,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/06\/04\/fedora-for-short-lifespan-server-instances\/","url_meta":{"origin":18311,"position":2},"title":"Fedora for short-lifespan server instances","author":"Leonid Mamchenkov","date":"June 4, 2013","format":"link","excerpt":"Fedora for short-lifespan server instances Let\u2019s come back to the odd fact that Fedora is both a precursor to RHEL, and yet almost never used in production as a server OS. I think this is going to change. In a world where instances are deployed constantly, instances are born and\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":16590,"url":"https:\/\/mamchenkov.net\/wordpress\/2012\/07\/30\/ive-been-using-a-combination-of-ps-and-grep-for-y\/","url_meta":{"origin":18311,"position":3},"title":"I&#8217;ve been using a combination of ps and grep for y&#8230;","author":"Leonid Mamchenkov","date":"July 30, 2012","format":"status","excerpt":"I've been using a combination of ps and grep for years now. \u00a0Apparently, there is an easier way - pgrep and pkill utilities, which are a part of procps package on Fedora and CentOS distributions.","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26947,"url":"https:\/\/mamchenkov.net\/wordpress\/2016\/11\/24\/fedora-25\/","url_meta":{"origin":18311,"position":4},"title":"Fedora 25","author":"Leonid Mamchenkov","date":"November 24, 2016","format":false,"excerpt":"I've just upgraded my laptop to Fedora 25. \u00a0The upgrade process was a breeze (as per instructions from this article): About 2,500 packages (1 GB and some) were downloaded in about 40 minutes (yeah, our Internet connection could use a boost). Then rebooted and the upgraded kicked in. It took\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":18440,"url":"https:\/\/mamchenkov.net\/wordpress\/2013\/07\/02\/fedora-19-released\/","url_meta":{"origin":18311,"position":5},"title":"Fedora 19 released","author":"Leonid Mamchenkov","date":"July 2, 2013","format":false,"excerpt":"Fedora 19 has been released a few hours ago. \u00a0This is one of the most interesting releases, feature-wise, for me personally. \u00a0Have a look at the announcement, and scroll through the full list of features that made it through. \u00a0Here is what I'm going to be looking at first thing\u2026","rel":"","context":"In &quot;All&quot;","block_context":{"text":"All","link":"https:\/\/mamchenkov.net\/wordpress\/category\/general\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/comments?post=18311"}],"version-history":[{"count":0,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/posts\/18311\/revisions"}],"wp:attachment":[{"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/media?parent=18311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/categories?post=18311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/tags?post=18311"},{"taxonomy":"keyring_services","embeddable":true,"href":"https:\/\/mamchenkov.net\/wordpress\/wp-json\/wp\/v2\/keyring_services?post=18311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}