<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none"><!--P{margin-top:0;margin-bottom:0;} .ms-cui-menu {background-color:#ffffff;border:1px rgb(171, 171, 171) solid;font-family:'Segoe UI WPC', 'Segoe UI', Tahoma, 'Microsoft Sans Serif', Verdana, sans-serif;font-size:11pt;color:rgb(51, 51, 51);} .ms-cui-menusection-title {display:none;} .ms-cui-ctl {vertical-align:text-top;text-decoration:none;color:rgb(51, 51, 51);} .ms-cui-ctl-on {background-color:rgb(223, 237, 250);opacity: 0.8;} .ms-cui-img-cont-float {display:inline-block;margin-top:2px} .ms-cui-smenu-inner {padding-top:0px;} .ms-owa-paste-option-icon {margin: 2px 4px 0px 4px;vertical-align:sub;padding-bottom: 2px;display:inline-block;} .ms-rtePasteFlyout-option:hover {background-color:rgb(223, 237, 250) !important;opacity:1 !important;} .ms-rtePasteFlyout-option {padding:8px 4px 8px 4px;outline:none;} .ms-cui-menusection {float:left; width:85px;height:24px;overflow:hidden}.wf {speak:none; font-weight:normal; font-variant:normal; text-transform:none; -webkit-font-smoothing:antialiased; vertical-align:middle; display:inline-block;}.wf-family-owa {font-family:'o365Icons'}@font-face {  font-family:'o365IconsIE8';  src:url('prem/15.0.913.23/resources/styles/office365icons.ie8.eot?#iefix') format('embedded-opentype'),         url('prem/15.0.913.23/resources/styles/office365icons.ie8.woff') format('woff'),         url('prem/15.0.913.23/resources/styles/office365icons.ie8.ttf') format('truetype');  font-weight:normal;  font-style:normal;}@font-face {  font-family:'o365IconsMouse';  src:url('prem/15.0.913.23/resources/styles/office365icons.mouse.eot?#iefix') format('embedded-opentype'),         url('prem/15.0.913.23/resources/styles/office365icons.mouse.woff') format('woff'),         url('prem/15.0.913.23/resources/styles/office365icons.mouse.ttf') format('truetype');  font-weight:normal;  font-style:normal;}.wf-family-owa {font-family:'o365IconsMouse'}.ie8 .wf-family-owa {font-family:'o365IconsIE8'}.ie8 .wf-owa-play-large:before {content:'\e254';}.notIE8 .wf-owa-play-large:before {content:'\e054';}.ie8 .wf-owa-play-large {color:#FFFFFF/*$WFWhiteColor*/;}.notIE8 .wf-owa-play-large {border-color:#FFFFFF/*$WFWhiteColor*/; width:1.4em; height:1.4em; border-width:.1em; border-style:solid; border-radius:.8em; text-align:center; box-sizing:border-box; -moz-box-sizing:border-box; padding:0.1em; color:#FFFFFF/*$WFWhiteColor*/;}.ie8 .wf-size-play-large {width:40px; height:40px; font-size:30px}.notIE8 .wf-size-play-large {width:40px; height:40px; font-size:30px}--></style>
</head>
<body dir="ltr">
<div style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
Hello all,</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
I wanted to introduce myself - my  name is Krishna Ganugapati and I work on the newly released VMware Photon Linux distribution.  Photon is a really small  RPM based distro starting at around 70 packages and extensible through YUM via yum repositories.</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
Even though the focus of  Photon is to function as a container host runtime, we felt that the rpm package model is hugely relevant and given that it is the established standard, we felt its the only way to go forward.</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
For package management on top of rpm, we started with yum and dnf, but one of our concerns was that yum and dnf require python and we got a fair amount of feedback requesting that we don't have a python system on the smallest images.</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
So we decided to write a C version of dnf - a  tiny dnf. We also thought it would be worthwhile if we could create a C API that other applications could write to so we wrote libtdnf. The tdnf utility basically calls the libtdnf shared library which itself calls
 librepo and libhawkey.</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
tdnf is pretty small - the whole thing is about 6K lines of C code .  It doesn't have all of the extensible Python plugin support that dnf and yum do, and in a sense is like the vanilla yum and dnf. We hope to systematically implement all of the commands that
 exist in dnf today.</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
We hope to  integrate tdnf with  rpm-ostree as well because we think it is a well-thought out model for atomic updates</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
We've open sourced it under the LGPL 2.1 license for libtdnf and the GPL 2.0 license for tdnf. The source can be found here</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
<a href="https://github.com/vmware/tdnf">https://github.com/vmware/tdnf</a></p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
By the way, Photon will always support the full dnf and yum as standard - we want to make sure that tdnf is 100% compatible with dnf and yum.</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
We hope the community will view this positively and we would appreciate any feedback on how best to engage. tdnf is built with standard tools and should be very easily portable on to Fedora, Centos, RHEL and SuSe if there is interest.</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
​<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
Sincerely,</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica; min-height: 14px;">
<br>
</p>
<p style="margin-right: 0px; margin-left: 0px; font-size: 12px; font-family: Helvetica;">
Krishna<br>
</p>
</div>
</body>
</html>