mirror of
https://github.com/mudler/luet.git
synced 2025-06-25 06:52:59 +00:00
921 lines
113 KiB
HTML
921 lines
113 KiB
HTML
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<meta name="generator" content="Hugo 0.91.2" />
|
|
<meta name="robots" content="index, follow">
|
|
|
|
|
|
<link rel="shortcut icon" href="/favicons/favicon.ico" >
|
|
<link rel="apple-touch-icon" href="/favicons/apple-touch-icon-180x180.png" sizes="180x180">
|
|
<link rel="icon" type="image/png" href="/favicons/favicon-16x16.png" sizes="16x16">
|
|
<link rel="icon" type="image/png" href="/favicons/favicon-32x32.png" sizes="32x32">
|
|
<link rel="icon" type="image/png" href="/favicons/android-36x36.png" sizes="36x36">
|
|
<link rel="icon" type="image/png" href="/favicons/android-48x48.png" sizes="48x48">
|
|
<link rel="icon" type="image/png" href="/favicons/android-72x72.png" sizes="72x72">
|
|
<link rel="icon" type="image/png" href="/favicons/android-96x96.png" sizes="96x96">
|
|
<link rel="icon" type="image/png" href="/favicons/android-144x144.png" sizes="144x144">
|
|
<link rel="icon" type="image/png" href="/favicons/android-192x192.png" sizes="192x192">
|
|
|
|
<title>Specfile | Luet</title>
|
|
<meta name="description" content="Luet specfile syntax
|
|
">
|
|
<meta property="og:title" content="Specfile" />
|
|
<meta property="og:description" content="Luet specfile syntax
|
|
" />
|
|
<meta property="og:type" content="article" />
|
|
<meta property="og:url" content="https://luet.io/docs/concepts/packages/specfile/" /><meta property="article:section" content="docs" />
|
|
|
|
<meta property="article:modified_time" content="2022-04-13T23:22:43+02:00" /><meta property="og:site_name" content="Luet" />
|
|
|
|
<meta itemprop="name" content="Specfile">
|
|
<meta itemprop="description" content="Luet specfile syntax
|
|
">
|
|
<meta itemprop="dateModified" content="2022-04-13T23:22:43+02:00" />
|
|
<meta itemprop="wordCount" content="2350">
|
|
<meta itemprop="keywords" content="" /><meta name="twitter:card" content="summary"/>
|
|
<meta name="twitter:title" content="Specfile"/>
|
|
<meta name="twitter:description" content="Luet specfile syntax
|
|
"/>
|
|
|
|
|
|
|
|
|
|
<link rel="preload" href="/scss/main.min.eb38b57306ca3844ed6f8a1be2101248121fe9c4dfd2981c1df0ba83c4ad6f7c.css" as="style">
|
|
<link href="/scss/main.min.eb38b57306ca3844ed6f8a1be2101248121fe9c4dfd2981c1df0ba83c4ad6f7c.css" rel="stylesheet" integrity="">
|
|
|
|
<script
|
|
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK"
|
|
crossorigin="anonymous"></script>
|
|
<script
|
|
src="https://unpkg.com/lunr@2.3.9/lunr.min.js"
|
|
integrity="sha384-203J0SNzyqHby3iU6hzvzltrWi/M41wOP5Gu+BiJMz5nwKykbkUx8Kp7iti0Lpli"
|
|
crossorigin="anonymous"></script>
|
|
|
|
<script type="application/javascript">
|
|
var doNotTrack = false;
|
|
if (!doNotTrack) {
|
|
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
|
|
ga('create', 'UA-00000000-0', 'auto');
|
|
|
|
ga('send', 'pageview');
|
|
}
|
|
</script>
|
|
<script async src='https://www.google-analytics.com/analytics.js'></script>
|
|
|
|
</head>
|
|
<body class="td-page">
|
|
<header>
|
|
|
|
<nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar">
|
|
<a class="navbar-brand" href="/">
|
|
<span class="navbar-logo"><svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 500 500" style="enable-background:new 0 0 500 500"><g><path style="fill:#fff" d="M116.8525 421.9722c-5.7041.0-10.3442-4.3127-10.3442-9.6129V88.183c0-5.3002 4.6401-9.6117 10.3442-9.6117H320.858c3.0347.0 9.3959.5498 11.7506 2.6302l.3545.3442 58.905 63.2912c2.3101 2.491 2.9202 8.4928 2.9202 11.3184v256.2039c0 5.3002-4.6407 9.6129-10.3436 9.6129H116.8525z"/><g><g><g><path style="fill:#767676" d="M384.4445 423.2066H116.852c-6.3839.0-11.5786-4.8658-11.5786-10.8474V88.1831c0-5.9804 5.1947-10.8461 11.5786-10.8461h204.0062c.377.0 9.2786.0329 12.568 2.9389l.3947.3833 58.9508 63.337c3.2135 3.4652 3.2514 11.7924 3.2514 12.1593v256.2036C396.0231 418.3408 390.8284 423.2066 384.4445 423.2066zM116.5079 411.9189c.0848.0278.1999.0531.3441.0531h267.5925c.1442.0.2581-.0253.3441-.0531V156.1556c-.0076-.9033-.3593-3.7347-.7034-5.0037l-57.6527-61.9416c-1.4651-.3176-4.4533-.6389-5.5742-.6389H116.852c-.143.0-.2594.024-.3441.0531V411.9189zm267.4533-261.149zM327.0321 89.371v.0013V89.371z"/></g></g></g><g><g><path style="fill:#5b7fc0" d="M189.0874 210.1754l.0012-.0012c7.7751.0012 15.0295 4.1862 18.932 10.9234 1.9177 3.3159 2.9305 7.1011 2.9293 10.9378.0 5.8394-2.2733 11.3304-6.4032 15.4604-4.1288 4.1288-9.6186 6.4032-15.458 6.4032s-11.328-2.2733-15.458-6.4032-6.4032-9.6186-6.4056-15.4628c.0012-6.025 2.454-11.4897 6.4116-15.4473C177.5953 212.627 183.0601 210.1742 189.0874 210.1754zm7.993 21.8576c.0012-1.4042-.3687-2.7868-1.063-3.9887-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019-4.4077.0024-7.993 3.5877-7.993 7.993.0 2.1356.832 4.1431 2.3427 5.6539 1.5083 1.5083 3.5159 2.3403 5.6503 2.3415 2.1356.0 4.1443-.8308 5.6539-2.3403S197.0816 234.1722 197.0804 232.033z"/><path style="opacity:.3;fill:#fff" d="M189.0898 210.176c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3136 2.9377 7.0988 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8066-21.8612-21.8613.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 212.6276 183.0612 210.176 189.0898 210.176zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 236.239 197.0839 234.2399 197.0839 232.0372z"/><g><defs><path id="SVGID_1_" d="M194.7376 237.6875c-1.4461 1.4461-3.4452 2.3439-5.6479 2.3439-4.4077-.0024-7.9918-3.5865-7.9942-7.9942.0024-4.4125 3.5937-7.999 7.9942-7.9942 2.8443.0 5.497 1.5323 6.924 3.9983.6991 1.2067 1.0702 2.5881 1.0702 3.9959C197.0839 234.2399 196.1861 236.239 194.7376 237.6875z"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_2_);fill:#fff" d="M190.0704 225.0237c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9546.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.663-2.8588-6.116.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C193.7885 225.7247 191.9774 225.0237 190.0704 225.0237z"/><path style="opacity:.13;clip-path:url(#SVGID_2_);fill:#020202" d="M190.0704 225.0237c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9546.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.663-2.8588-6.116.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C193.7885 225.7247 191.9774 225.0237 190.0704 225.0237z"/></g><g><defs><path id="SVGID_3_" d="M189.0898 210.176c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3136 2.9377 7.0988 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8066-21.8612-21.8613.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 212.6276 183.0612 210.176 189.0898 210.176zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 236.239 197.0839 234.2399 197.0839 232.0372z"/></defs><clipPath id="SVGID_4_"><use xlink:href="#SVGID_3_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_4_);fill:#5b7fc0" d="M172.6595 215.6045c-3.96 3.96-6.4116 9.4235-6.4116 15.452-.0024 12.0547 9.8066 21.8636 21.8613 21.8612 12.0547.0024 21.8636-9.797 21.8613-21.8612.0024-3.8475-1.0151-7.6326-2.9353-10.9462-3.8977-6.7324-11.1497-10.9151-18.926-10.9151C182.0806 209.1953 176.6171 211.647 172.6595 215.6045z"/></g></g><rect x="198.8952" y="225.1043" style="fill:#5b7fc0" width="122.6266" height="13.8671"/></g><g><path style="fill:#d95140" d="M189.0874 155.7611l.0012-.0012c7.7751.0012 15.0295 4.1862 18.932 10.9234 1.9177 3.3159 2.9305 7.1011 2.9293 10.9378.0 5.8394-2.2733 11.3304-6.4032 15.4604-4.1288 4.1288-9.6186 6.4032-15.458 6.4032s-11.328-2.2733-15.458-6.4032-6.4032-9.6186-6.4056-15.4628c.0012-6.0249 2.454-11.4897 6.4116-15.4473C177.5953 158.2128 183.0601 155.7599 189.0874 155.7611zm7.993 21.8577c.0012-1.4042-.3687-2.7868-1.063-3.9887-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019-4.4077.0024-7.993 3.5877-7.993 7.993.0 2.1356.832 4.1431 2.3427 5.6539 1.5083 1.5083 3.5159 2.3403 5.6503 2.3415 2.1356.0 4.1443-.8308 5.6539-2.3403C196.2508 181.7667 197.0816 179.758 197.0804 177.6188z"/><path style="opacity:.3;fill:#fff" d="M189.0898 155.7617c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3135 2.9377 7.0987 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8066-21.8612-21.8613.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 158.2134 183.0612 155.7617 189.0898 155.7617zm7.9941 21.8613c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 181.8248 197.0839 179.8256 197.0839 177.623z"/><g><defs><path id="SVGID_5_" d="M194.7376 183.2733c-1.4461 1.4461-3.4452 2.3439-5.6479 2.3439-4.4077-.0024-7.9918-3.5865-7.9942-7.9942.0024-4.4125 3.5937-7.9989 7.9942-7.9942 2.8443.0 5.497 1.5323 6.924 3.9983.6991 1.2067 1.0702 2.5881 1.0702 3.9959C197.0839 179.8256 196.1861 181.8248 194.7376 183.2733z"/></defs><clipPath id="SVGID_6_"><use xlink:href="#SVGID_5_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_6_);fill:#fff" d="M190.0704 170.6095c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9546.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.663-2.8588-6.116.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C193.7885 171.3104 191.9774 170.6095 190.0704 170.6095z"/><path style="opacity:.13;clip-path:url(#SVGID_6_);fill:#020202" d="M190.0704 170.6095c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9546.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.663-2.8588-6.116.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C193.7885 171.3104 191.9774 170.6095 190.0704 170.6095z"/></g><g><defs><path id="SVGID_7_" d="M189.0898 155.7617c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3135 2.9377 7.0987 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8066-21.8612-21.8613.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 158.2134 183.0612 155.7617 189.0898 155.7617zm7.9941 21.8613c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 181.8248 197.0839 179.8256 197.0839 177.623z"/></defs><clipPath id="SVGID_8_"><use xlink:href="#SVGID_7_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_8_);fill:#d95140" d="M172.6595 161.1903c-3.96 3.96-6.4116 9.4235-6.4116 15.452-.0024 12.0547 9.8066 21.8636 21.8613 21.8613 12.0547.0024 21.8636-9.797 21.8613-21.8613.0024-3.8474-1.0151-7.6326-2.9353-10.9462-3.8977-6.7324-11.1497-10.9151-18.926-10.9151C182.0806 154.7811 176.6171 157.2327 172.6595 161.1903z"/></g><rect x="198.8952" y="170.69" style="fill:#d95140" width="122.6266" height="13.8671"/></g><g><g><path style="fill:#56a55c" d="M189.5379 264.6147l.0012-.0012c7.7751.0012 15.0294 4.1862 18.932 10.9235 1.9177 3.3159 2.9305 7.1011 2.9293 10.9378.0 5.8394-2.2733 11.3304-6.4032 15.4604-4.1288 4.1288-9.6186 6.4032-15.458 6.4032-5.8394.0-11.3281-2.2733-15.458-6.4032-4.13-4.13-6.4032-9.6186-6.4056-15.4628.0012-6.0249 2.454-11.4897 6.4116-15.4472C178.0458 267.0663 183.5105 264.6135 189.5379 264.6147zm7.993 21.8576c.0012-1.4042-.3687-2.7868-1.063-3.9887-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019-4.4077.0024-7.993 3.5877-7.993 7.993.0 2.1356.832 4.1431 2.3427 5.6538 1.5083 1.5083 3.5159 2.3403 5.6503 2.3415 2.1356.0 4.1443-.8308 5.6539-2.3403C196.7013 290.6202 197.5321 288.6115 197.5309 286.4723z"/><path style="opacity:.3;fill:#fff" d="M189.5403 264.6153c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3135 2.9377 7.0987 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8065-21.8612-21.8613.0-6.0285 2.4516-11.492 6.4116-15.452C178.0482 267.0669 183.5117 264.6153 189.5403 264.6153zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9941.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.6366 290.6783 197.5344 288.6792 197.5344 286.4765z"/><g><defs><path id="SVGID_9_" d="M195.1881 292.1268c-1.4461 1.4461-3.4452 2.3439-5.6479 2.3439-4.4077-.0024-7.9918-3.5865-7.9942-7.9942.0024-4.4125 3.5937-7.9989 7.9942-7.9941 2.8443.0 5.497 1.5323 6.924 3.9983.6991 1.2067 1.0702 2.5881 1.0702 3.9959C197.5344 288.6792 196.6366 290.6783 195.1881 292.1268z"/></defs><clipPath id="SVGID_10_"><use xlink:href="#SVGID_9_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_10_);fill:#fff" d="M190.5209 279.463c-4.4005-.0048-7.9918 3.5817-7.9942 7.9941.0011 1.9547.7088 3.7452 1.8782 5.1354-1.7446-1.4674-2.8575-3.6631-2.8588-6.1161.0024-4.4125 3.5936-7.999 7.9942-7.9941 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C194.239 280.164 192.4279 279.463 190.5209 279.463z"/><path style="opacity:.13;clip-path:url(#SVGID_10_);fill:#020202" d="M190.5209 279.463c-4.4005-.0048-7.9918 3.5817-7.9942 7.9941.0011 1.9547.7088 3.7452 1.8782 5.1354-1.7446-1.4674-2.8575-3.6631-2.8588-6.1161.0024-4.4125 3.5936-7.999 7.9942-7.9941 2.3802-1e-4 4.616 1.0833 6.1218 2.8788C194.239 280.164 192.4279 279.463 190.5209 279.463z"/></g><g><defs><path id="SVGID_11_" d="M189.5403 264.6153c7.7763.0 15.0283 4.1826 18.926 10.9151 1.9201 3.3135 2.9377 7.0987 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8613-12.0547.0024-21.8636-9.8065-21.8612-21.8613.0-6.0285 2.4516-11.492 6.4116-15.452C178.0482 267.0669 183.5117 264.6153 189.5403 264.6153zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9941.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.6366 290.6783 197.5344 288.6792 197.5344 286.4765z"/></defs><clipPath id="SVGID_12_"><use xlink:href="#SVGID_11_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_12_);fill:#56a55c" d="M173.11 270.0439c-3.96 3.96-6.4116 9.4235-6.4116 15.452-.0024 12.0547 9.8066 21.8636 21.8613 21.8613 12.0547.0024 21.8636-9.797 21.8613-21.8613.0024-3.8474-1.0151-7.6326-2.9353-10.9462-3.8977-6.7325-11.1497-10.9151-18.926-10.9151C182.5311 263.6346 177.0676 266.0863 173.11 270.0439z"/></g></g><rect x="199.3456" y="279.5436" style="fill:#56a55c" width="122.6266" height="13.8671"/></g><g><g><path style="fill:#f1bc42" d="M189.0874 318.7208l.0012-.0012c7.7751.0012 15.0295 4.1862 18.932 10.9234 1.9177 3.3159 2.9305 7.1011 2.9293 10.9378.0 5.8394-2.2733 11.3305-6.4032 15.4604-4.1288 4.1288-9.6186 6.4032-15.458 6.4032s-11.328-2.2733-15.458-6.4032-6.4032-9.6186-6.4056-15.4628c.0012-6.025 2.454-11.4897 6.4116-15.4472C177.5953 321.1724 183.0601 318.7196 189.0874 318.7208zm7.993 21.8576c.0012-1.4042-.3687-2.7868-1.063-3.9887-1.4293-2.4684-4.0833-3.9995-6.9299-4.0019-4.4077.0024-7.993 3.5877-7.993 7.993.0 2.1356.832 4.1431 2.3427 5.6539 1.5083 1.5083 3.5159 2.3403 5.6503 2.3415 2.1356.0 4.1443-.8308 5.6539-2.3403S197.0816 342.7176 197.0804 340.5784z"/><path style="opacity:.3;fill:#fff" d="M189.0898 318.7214c7.7763.0 15.0283 4.1826 18.926 10.915 1.9201 3.3136 2.9377 7.0988 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8612-12.0547.0024-21.8636-9.8065-21.8612-21.8612.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 321.173 183.0612 318.7214 189.0898 318.7214zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 344.7844 197.0839 342.7853 197.0839 340.5826z"/><g><defs><path id="SVGID_13_" d="M194.7376 346.2329c-1.4461 1.4461-3.4452 2.3439-5.6479 2.3439-4.4077-.0024-7.9918-3.5865-7.9942-7.9942.0024-4.4125 3.5937-7.999 7.9942-7.9942 2.8443.0 5.497 1.5323 6.924 3.9983.6991 1.2067 1.0702 2.5881 1.0702 3.9959C197.0839 342.7853 196.1861 344.7844 194.7376 346.2329z"/></defs><clipPath id="SVGID_14_"><use xlink:href="#SVGID_13_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_14_);fill:#fff" d="M190.0704 333.5691c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9547.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.6631-2.8588-6.1161.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0834 6.1218 2.8788C193.7885 334.2701 191.9774 333.5691 190.0704 333.5691z"/><path style="opacity:.13;clip-path:url(#SVGID_14_);fill:#020202" d="M190.0704 333.5691c-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0011 1.9547.7088 3.7452 1.8782 5.1354-1.7447-1.4674-2.8575-3.6631-2.8588-6.1161.0024-4.4125 3.5936-7.999 7.9942-7.9942 2.3802-1e-4 4.616 1.0834 6.1218 2.8788C193.7885 334.2701 191.9774 333.5691 190.0704 333.5691z"/></g><g><defs><path id="SVGID_15_" d="M189.0898 318.7214c7.7763.0 15.0283 4.1826 18.926 10.915 1.9201 3.3136 2.9377 7.0988 2.9353 10.9462.0024 12.0643-9.8065 21.8636-21.8613 21.8612-12.0547.0024-21.8636-9.8065-21.8612-21.8612.0-6.0285 2.4516-11.4921 6.4116-15.452C177.5977 321.173 183.0612 318.7214 189.0898 318.7214zm7.9941 21.8612c0-1.4078-.3711-2.7892-1.0702-3.9959-1.4269-2.466-4.0797-3.9983-6.924-3.9983-4.4005-.0048-7.9918 3.5817-7.9942 7.9942.0024 4.4077 3.5865 7.9918 7.9942 7.9942 2.2027.0 4.2018-.8978 5.6479-2.3439C196.1861 344.7844 197.0839 342.7853 197.0839 340.5826z"/></defs><clipPath id="SVGID_16_"><use xlink:href="#SVGID_15_" style="overflow:visible"/></clipPath><path style="clip-path:url(#SVGID_16_);fill:#f1bc42" d="M172.6595 324.15c-3.96 3.96-6.4116 9.4235-6.4116 15.452-.0024 12.0547 9.8066 21.8636 21.8613 21.8612 12.0547.0024 21.8636-9.797 21.8613-21.8612.0024-3.8474-1.0151-7.6327-2.9353-10.9462-3.8977-6.7324-11.1497-10.9151-18.926-10.9151C182.0806 317.7407 176.6171 320.1924 172.6595 324.15z"/></g></g><rect x="198.8952" y="333.6497" style="fill:#f1bc42" width="122.6266" height="13.8671"/></g></g></svg></span><span class="font-weight-bold">Luet</span>
|
|
</a>
|
|
<div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar">
|
|
<ul class="navbar-nav mt-2 mt-lg-0">
|
|
|
|
|
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a class="nav-link" href="/about/" ><span>About</span></a>
|
|
</li>
|
|
|
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a class="nav-link active" href="/docs/" ><span class="active">Documentation</span></a>
|
|
</li>
|
|
|
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a class="nav-link" href="/blog/" ><span>Blog</span></a>
|
|
</li>
|
|
|
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a class="nav-link" href="/community/" ><span>Community</span></a>
|
|
</li>
|
|
|
|
<li class="nav-item mr-4 mb-2 mb-lg-0">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<a class="nav-link" href="https://github.com/mudler/luet/contribute" target="_blank" ><i class='fab fa-github'></i><span>Contribution guidelines</span></a>
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</div>
|
|
<div class="navbar-nav d-none d-lg-block"><input
|
|
type="search"
|
|
class="form-control td-search-input"
|
|
placeholder=" Search this site…"
|
|
aria-label="Search this site…"
|
|
autocomplete="off"
|
|
|
|
data-offline-search-index-json-src="/offline-search-index.0f51bd7fc3def1dd029df014c676d0d3.json"
|
|
data-offline-search-base-href="/"
|
|
data-offline-search-max-results="10"
|
|
>
|
|
</div>
|
|
</nav>
|
|
|
|
</header>
|
|
<div class="container-fluid td-outer">
|
|
<div class="td-main">
|
|
<div class="row flex-xl-nowrap">
|
|
<aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none">
|
|
|
|
<div id="td-sidebar-menu" class="td-sidebar__inner">
|
|
<form class="td-sidebar__search d-flex align-items-center">
|
|
<input
|
|
type="search"
|
|
class="form-control td-search-input"
|
|
placeholder=" Search this site…"
|
|
aria-label="Search this site…"
|
|
autocomplete="off"
|
|
|
|
data-offline-search-index-json-src="/offline-search-index.0f51bd7fc3def1dd029df014c676d0d3.json"
|
|
data-offline-search-base-href="/"
|
|
data-offline-search-max-results="10"
|
|
>
|
|
|
|
<button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation">
|
|
</button>
|
|
</form>
|
|
<nav class="collapse td-sidebar-nav" id="td-section-nav">
|
|
<ul class="td-sidebar-nav__section pr-md-3 ul-0">
|
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-docs-li">
|
|
<a href="/docs/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id="m-docs"><span class="">Documentation</span></a>
|
|
<ul class="ul-1">
|
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsgetting-started-li">
|
|
<a href="/docs/getting-started/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsgetting-started"><span class="">Getting Started</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-docsconcepts-li">
|
|
<a href="/docs/concepts/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsconcepts"><span class="">Concepts</span></a>
|
|
<ul class="ul-2 foldable">
|
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docsconceptsoverview-li">
|
|
<a href="/docs/concepts/overview/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsconceptsoverview"><span class="">Overview</span></a>
|
|
<ul class="ul-3 foldable">
|
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsconceptsoverviewbuild_packages-li">
|
|
<a href="/docs/concepts/overview/build_packages/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsconceptsoverviewbuild_packages"><span class="">Building packages</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsconceptsoverviewrepositories-li">
|
|
<a href="/docs/concepts/overview/repositories/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsconceptsoverviewrepositories"><span class="">Creating Luet repositories</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsconceptsoverviewusage-li">
|
|
<a href="/docs/concepts/overview/usage/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsconceptsoverviewusage"><span class="">CLI usage</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsconceptsoverviewconstraints-li">
|
|
<a href="/docs/concepts/overview/constraints/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsconceptsoverviewconstraints"><span class="">CSP, SAT && RL</span></a>
|
|
</li>
|
|
</ul>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id="m-docsconceptspackages-li">
|
|
<a href="/docs/concepts/packages/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsconceptspackages"><span class="">Packages</span></a>
|
|
<ul class="ul-3 foldable">
|
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child active-path" id="m-docsconceptspackagesspecfile-li">
|
|
<a href="/docs/concepts/packages/specfile/" class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id="m-docsconceptspackagesspecfile"><span class="td-sidebar-nav-active-item">Specfile</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsconceptspackagestemplates-li">
|
|
<a href="/docs/concepts/packages/templates/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsconceptspackagestemplates"><span class="">Templated packages</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsconceptspackagescollections-li">
|
|
<a href="/docs/concepts/packages/collections/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsconceptspackagescollections"><span class="">Collections</span></a>
|
|
</li>
|
|
</ul>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsconceptsplugins-and-extensions-li">
|
|
<a href="/docs/concepts/plugins-and-extensions/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsconceptsplugins-and-extensions"><span class="">Plugins and Extensions</span></a>
|
|
</li>
|
|
</ul>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docstutorials-li">
|
|
<a href="/docs/tutorials/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docstutorials"><span class="">Tutorials</span></a>
|
|
<ul class="ul-2 foldable">
|
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docstutorialshello_world-li">
|
|
<a href="/docs/tutorials/hello_world/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docstutorialshello_world"><span class="">Hello world!</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docstutorialsbuild_package-li">
|
|
<a href="/docs/tutorials/build_package/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docstutorialsbuild_package"><span class="">Build a package</span></a>
|
|
</li>
|
|
</ul>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id="m-docsresources-li">
|
|
<a href="/docs/resources/" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id="m-docsresources"><span class="">Resources</span></a>
|
|
<ul class="ul-2 foldable">
|
|
<li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsresourcesarm-li">
|
|
<a href="/docs/resources/arm/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsresourcesarm"><span class="">ARM images</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsresourcesbuilding-li">
|
|
<a href="/docs/resources/building/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsresourcesbuilding"><span class="">Building</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsresourcesfaq-li">
|
|
<a href="/docs/resources/faq/" title="Frequently Asked Questions" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsresourcesfaq"><span class="">FAQ</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsresourcesscratch-li">
|
|
<a href="/docs/resources/scratch/" title="Images from scratch" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsresourcesscratch"><span class="">ScratchImages</span></a>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docsresourcesreferences-li">
|
|
<a href="/docs/resources/references/" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docsresourcesreferences"><span class="">References</span></a>
|
|
</li>
|
|
</ul>
|
|
</li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id="m-docscontribution-guidelines-li">
|
|
<a href="/docs/contribution-guidelines/" title="Contributing" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id="m-docscontribution-guidelines"><span class="">Contribution guidelines</span></a>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
|
|
</aside>
|
|
<aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none">
|
|
|
|
<div class="td-page-meta ml-2 pb-1 pt-2 mb-0">
|
|
<a href="https://github.com/mudler/luet/tree/master/docs/content/en/docs/Concepts/Packages/specfile.md" class="td-page-meta--view" target="_blank" rel="noopener"><i class="fa fa-file-alt fa-fw"></i> View page source</a>
|
|
<a href="https://github.com/mudler/luet/edit/master/docs/content/en/docs/Concepts/Packages/specfile.md" class="td-page-meta--edit" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
|
|
<a href="https://github.com/mudler/luet/new/master/docs/content/en/docs/Concepts/Packages/specfile.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at+the+top+of+the+page+%28weight+controls+how+its+ordered+amongst+other+pages+in+the+same+directory%3B+lowest+number+first%29.%0A%2A+Add+a+good+commit+message+at+the+bottom+of+the+page+%28%3C80+characters%3B+use+the+extended+description+field+for+more+detail%29.%0A%2A+Create+a+new+branch+so+you+can+preview+your+new+file+and+request+a+review+via+Pull+Request.%0A" class="td-page-meta--child" target="_blank" rel="noopener"><i class="fa fa-edit fa-fw"></i> Create child page</a>
|
|
<a href="https://github.com/mudler/luet/issues/new?title=Specfile" class="td-page-meta--issue" target="_blank" rel="noopener"><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
|
|
<a href="https://github.com/mudler/luet/issues/new" class="td-page-meta--project-issue" target="_blank" rel="noopener"><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="td-toc"><nav id="TableOfContents">
|
|
<ul>
|
|
<li><a href="#build-specs">Build specs</a>
|
|
<ul>
|
|
<li><a href="#building-strategies">Building strategies</a></li>
|
|
<li><a href="#build-time-dependencies">Build time dependencies</a></li>
|
|
<li><a href="#excludingincluding-files-explictly">Excluding/including files explictly</a></li>
|
|
<li><a href="#package-source-image">Package source image</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#keywords">Keywords</a>
|
|
<ul>
|
|
<li><a href="#conflicts"><code>conflicts</code></a></li>
|
|
<li><a href="#copy"><code>copy</code></a></li>
|
|
<li><a href="#env"><code>env</code></a></li>
|
|
<li><a href="#excludes"><code>excludes</code></a></li>
|
|
<li><a href="#image"><code>image</code></a></li>
|
|
<li><a href="#includes"><code>includes</code></a></li>
|
|
<li><a href="#join"><code>join</code></a></li>
|
|
<li><a href="#package_dir"><code>package_dir</code></a></li>
|
|
<li><a href="#prelude"><code>prelude</code></a></li>
|
|
<li><a href="#requires"><code>requires</code></a></li>
|
|
<li><a href="#requires_final_images"><code>requires_final_images</code></a></li>
|
|
<li><a href="#step"><code>step</code></a></li>
|
|
<li><a href="#unpack"><code>unpack</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#rutime-specs">Rutime specs</a>
|
|
<ul>
|
|
<li><a href="#keywords-1">Keywords</a></li>
|
|
<li><a href="#annotations"><code>annotations</code></a></li>
|
|
<li><a href="#conflicts-1"><code>conflicts</code></a></li>
|
|
<li><a href="#description"><code>description</code></a></li>
|
|
<li><a href="#hidden"><code>hidden</code></a></li>
|
|
<li><a href="#labels"><code>labels</code></a></li>
|
|
<li><a href="#license"><code>license</code></a></li>
|
|
<li><a href="#provides"><code>provides</code></a></li>
|
|
<li><a href="#requires-1"><code>requires</code></a></li>
|
|
<li><a href="#uri"><code>uri</code></a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#refering-to-packages-from-the-cli">Refering to packages from the CLI</a></li>
|
|
<li><a href="#finalizers">Finalizers</a>
|
|
<ul>
|
|
<li><a href="#keywords-2">Keywords</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</nav></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</aside>
|
|
<main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="td-content">
|
|
<h1>Specfile</h1>
|
|
<div class="lead">Luet specfile syntax</div>
|
|
<header class="article-meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</header>
|
|
<h1 id="specfiles">Specfiles</h1>
|
|
<p>Luet <a href="/docs/docs/concepts/packages/">packages</a> are defined by specfiles. Specfiles define the runtime and builtime requirements of a package. There is an hard distinction between runtime and buildtime. A spec is composed at least by the runtime (<code>definition.yaml</code> or a <code>collection.yaml</code>) and the buildtime specification (<code>build.yaml</code>).</p>
|
|
<p>Luet identifies the package definition by looking at directories that contains a <code>build.yaml</code> and a <code>definition.yaml</code> (or <code>collection.yaml</code>) files. A Luet tree is merely a composition of directories that follows this convention. There is no constriction on either folder naming or hierarchy.</p>
|
|
<p><em>Example of a <a href="https://github.com/Luet-lab/luet-embedded/tree/master/distro">tree folder hierarchy</a></em></p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">tree distro
|
|
distro
|
|
├── funtoo
|
|
│ ├── 1.4
|
|
│ │ ├── build.sh
|
|
│ │ ├── build.yaml
|
|
│ │ ├── definition.yaml
|
|
│ │ └── finalize.yaml
|
|
│ ├── docker
|
|
│ │ ├── build.yaml
|
|
│ │ ├── definition.yaml
|
|
│ │ └── finalize.yaml
|
|
│ └── meta
|
|
│ └── rpi
|
|
│ └── 0.1
|
|
│ ├── build.yaml
|
|
│ └── definition.yaml
|
|
├── packages
|
|
│ ├── container-diff
|
|
│ │ └── 0.15.0
|
|
│ │ ├── build.yaml
|
|
│ │ └── definition.yaml
|
|
│ └── luet
|
|
│ ├── build.yaml
|
|
│ └── definition.yaml
|
|
├── raspbian
|
|
│ ├── buster
|
|
│ │ ├── build.sh
|
|
│ │ ├── build.yaml
|
|
│ │ ├── definition.yaml
|
|
│ │ └── finalize.yaml
|
|
│ ├── buster-boot
|
|
│ │ ├── build.sh
|
|
│ │ ├── build.yaml
|
|
│ │ ├── definition.yaml
|
|
│ │ └── finalize.yaml
|
|
</code></pre></div><h2 id="build-specs">Build specs</h2>
|
|
<p>Build specs are defined in <code>build.yaml</code> files. They denote the build-time <code>dependencies</code> and <code>conflicts</code>, together with a definition of the content of the package.</p>
|
|
<p><em>Example of a <code>build.yaml</code> file</em>:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">steps</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">echo "Luet is awesome" > /awesome</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">prelude</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">echo "nooops!"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">requires</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"echo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">">=1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">conflicts</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">">=1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">provides</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">">=1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">env</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">FOO=bar</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">includes</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/awesome</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">unpack</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">true</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="building-strategies">Building strategies</h3>
|
|
<p>Luet can create packages with different strategies:</p>
|
|
<ul>
|
|
<li>by delta. Luet will analyze the containers differencies to find out which files got <strong>added</strong>.
|
|
You can use the <code>prelude</code> section to exclude certains file during analysis.</li>
|
|
<li>by taking a whole container content</li>
|
|
<li>by considering a single directory in the build container.</li>
|
|
</ul>
|
|
<h4 id="package-by-delta">Package by delta</h4>
|
|
<p>By default Luet will analyze the container content and extract any file that gets <strong>added</strong> to it. The difference is calculated by using the container which is depending on, or either by the container which is created by running the steps in the <code>prelude</code> section of the package build spec:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">prelude</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#8f5902;font-style:italic"># do something...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">steps</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#8f5902;font-style:italic"># real work that should be calculated delta over</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>By omitting the <code>prelude</code> keyword, the delta will be calculated from the parent container where the build will start from.</p>
|
|
<h4 id="package-by-container-content">Package by container content</h4>
|
|
<p>Luet can also generate a package content from a container. This is really useful when creating packages that are entire versioned <code>rootfs</code>. To enable this behavior, simply add <code>unpack: true</code> to the <code>build.yaml</code>. This enables the Luet unpacking features, which will extract all the files contained in the container which is built from the <code>prelude</code> and <code>steps</code> fields.</p>
|
|
<p>To include/exclude single files from it, use the <code>includes</code> and <code>excludes</code> directives.</p>
|
|
<h4 id="package-by-a-folder-in-the-final-container">Package by a folder in the final container</h4>
|
|
<p>Similarly, you can tell Luet to create a package from a folder in the build container. To enable this behavior, simply add <code>package_dir: "/path/to/final/dir"</code>.
|
|
The directory must represent exactly how the files will be ultimately installed from clients, and they will show up in the same layout in the final archive.</p>
|
|
<p>So for example, to create a package which ships <code>/usr/bin/mybin</code>, we could write:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">package_dir</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"/output"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">steps</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">mkdir -p /output/usr/bin/</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">echo "fancy stuff" > /output/usr/bin/mybin && chmod +x /output/usr/bin/mybin</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="build-time-dependencies">Build time dependencies</h3>
|
|
<p>A package build spec defines how a package is built. In order to do this, Luet needs to know where to start. Hence a package must declare at least either one of the following:</p>
|
|
<ul>
|
|
<li>an <code>image</code> keyword which tells which Docker image to use as base, or</li>
|
|
<li>a list of <code>requires</code>, which are references to other packages available in the tree.</li>
|
|
</ul>
|
|
<p>They can’t be both present in the same specfile.</p>
|
|
<p>To note, it’s not possible to mix package build definitions from different <code>image</code> sources. They must form a unique sub-graph in the build dependency tree.</p>
|
|
<p>On the other hand it’s possible to have multiple packages depending on a combination of different <code>requires</code>, given they are coming from the same <code>image</code> parent.</p>
|
|
<h3 id="excludingincluding-files-explictly">Excluding/including files explictly</h3>
|
|
<p>Luet can also <em>exclude</em> and <em>include</em> single files or folders from a package by using the <code>excludes</code> and <code>includes</code> keyword respecitvely.</p>
|
|
<p>Both of them are parsed as a list of Golang regex expressions, and they can be combined together to fine-grainly decide which files should be inside the final artifact. You can refer to the files as they were in the resulting package. So if a package produces a <code>/foo</code> file, and you want to exclude it, you can add it to <code>excludes</code> as <code>/foo</code>.</p>
|
|
<h3 id="package-source-image">Package source image</h3>
|
|
<p>Luet needs an image to kick-off the build process for each package. This image is being used to run the commands in the <code>steps</code> and <code>prelude</code>, and then the image is processed by the <strong>building strategies</strong> explained above.</p>
|
|
<p>The image can be resolved either by:</p>
|
|
<ol>
|
|
<li>providing a specific image name with <code>image</code></li>
|
|
<li>providing a set of package requirements with <code>requires</code> which will be constructed a new image from. The resulting image is an image linked between each other with the <code>FROM</code> field in the Dockerfile following the SAT solver ordering.</li>
|
|
<li>providing a set of packages to squash their result from <code>requires</code> and by specifying <code>requires_final_images: true</code>.</li>
|
|
</ol>
|
|
|
|
|
|
<div class="alert alert-info" role="alert">
|
|
<h4 class="alert-heading">Note</h4>
|
|
|
|
The above keywords cannot be present in the same spec <strong>at the same time</strong>, or they cannot be combined. But you are free to create further intermediate specs to achieve the desired image.
|
|
|
|
</div>
|
|
|
|
<h4 id="difference-between-requires-and-requires-with-requires_final_images-true">Difference between <code>requires</code> and <code>requires</code> with <code>requires_final_images: true</code></h4>
|
|
<p><code>requires</code> generates a graph from all the <code>images</code> of the specfile referenced inside the list. This means it builds a chain of images that are used to build the packages, e.g.: <code>packageA(image: busybox) -> packageB (requires: A) -> packageC (requires: C)</code>. The container which is running your build then <strong>inherits</strong> it’s parents from a chain of order resolution, provided by the SAT solver.</p>
|
|
<p>When specifying <code>requires_final_images: true</code> luet builds an artifact for each of the packages listed from their compilation specs and it will later <em>squash</em> them together in a new container image which is then used in the build process to create an artifact.</p>
|
|
<p>The key difference is about <em>where</em> your build is going to run from. By specifying <code>requires_final_images</code> it will be constructed a new image with the content of each package specified and its dependencies - while if setting it to false, it will order the images appropriately and link them together with the Dockerfile <code>FROM</code> field. That allows to reuse the same images used to build the packages in the require section - or - create a new one from the result of each package compilation.</p>
|
|
<h2 id="keywords">Keywords</h2>
|
|
<p>Here is a list of the full keyword refereces for the <code>build.yaml</code> file.</p>
|
|
<h3 id="conflicts"><code>conflicts</code></h3>
|
|
<p>(optional) List of packages which it conflicts with in <em>build time</em>. In the same form of <code>requires</code> it is a list of packages that the current one is conflicting with.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">conflicts</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"baz"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>See <a href="/docs/docs/concepts/packages">Package concepts</a> for more information on how to represent a package in a Luet tree.</p>
|
|
<h3 id="copy"><code>copy</code></h3>
|
|
<p><em>since luet>=0.15.0</em></p>
|
|
<p>(optional) A list of packages/images where to copy files from. It is the <a href="https://docs.docker.com/develop/develop-images/multistage-build/">Docker multi-stage build</a> equivalent but enhanced with tree hashing resolution.</p>
|
|
<p>To copy a specific file from a package <em>build</em> container:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">steps</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">prelude</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">copy</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">package</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">">=0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"/foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">destination</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"/bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>Any package that is listed in the section will be compiled beforeahead the package, and the file is available both in <code>prelude</code> and <code>steps</code>.</p>
|
|
<p>Internally, it’s rendered as <code>COPY --from=package/image:sha /foo /bar</code></p>
|
|
<p>To copy a specific file from an external image:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">steps</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">prelude</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">copy</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">image</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"buxybox:latest"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"/foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">destination</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"/bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="env"><code>env</code></h3>
|
|
<p>(optional) A list of environment variables ( in <code>NAME=value</code> format ) that are expanded in <code>step</code> and in <code>prelude</code>. ( e.g. <code>${NAME}</code> ).</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">env</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">PATH=$PATH:/usr/local/go/bin</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">GOPATH=/luetbuild/go</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">GO111MODULE=on</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">CGO_ENABLED=0</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">LDFLAGS="-s -w"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="excludes"><code>excludes</code></h3>
|
|
<p>(optional) List of golang regexes. They are in full path form (e.g. <code>^/usr/bin/foo</code> ) and indicates that the files listed shouldn’t be part of the final artifact</p>
|
|
<p>Wildcards and golang regular expressions are supported. If specified, files which are not matching any of the regular expressions in the list will be excluded in the final package.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">excludes</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">^/etc/shadow</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">^/etc/os-release</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">^/etc/gshadow</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>By combining <code>excludes</code> with <code>includes</code>, it’s possible to include certain files while excluding explicitly some others (<code>excludes</code> takes precedence over <code>includes</code>).</p>
|
|
<h3 id="image"><code>image</code></h3>
|
|
<p>(optional/required) Docker image to be used to build the package.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">image</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"busybox"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>It might be omitted in place of <code>requires</code>, and indicates the image used to build the package. The image will be pulled and used to build the package.</p>
|
|
<h3 id="includes"><code>includes</code></h3>
|
|
<p>(optional) List of regular expressions to match files in the resulting package. The path is absolute as it would refer directly to the artifact content.</p>
|
|
<p>Wildcards and golang regular expressions are supported. If specified, files which are not matching any of the regular expressions in the list will be excluded in the final package.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">includes</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/etc$</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/etc/lvm$</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/etc/lvm/.*</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/usr$</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/usr/bin$</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/usr/bin/cc.*</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/usr/bin/c\+\+.*</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/usr/bin/cpp.*</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/usr/bin/g\+\+.*</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p><strong>Note</strong>: Directories are treated as standard entries, so to include a single file, you need also to explictly include also it’s directory. Consider this example to include <code>/etc/lvm/lvm.conf</code>:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">includes</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/etc$</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/etc/lvm$</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">/etc/lvm/lvm.conf</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="join"><code>join</code></h3>
|
|
<p><em>since luet>=0.16.0</em>
|
|
<em>to be deprecated in luet>=0.18.0 in favor of <code>requires_final_images</code></em></p>
|
|
<p>(optional/required) List of packages which are used to generate a parent image from.</p>
|
|
<p>It might be omitted in place of <code>image</code> or <code>requires</code>, and will generate an image which will be used as source of the package from the final packages in the above list. The new image is used to run eventually the package building process and a new artifact can be generated out of it.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">join</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"baz"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>See <a href="/docs/docs/concepts/packages">Package concepts</a> for more information on how to represent a package in a Luet tree.</p>
|
|
<h4 id="examples">Examples</h4>
|
|
<ul>
|
|
<li><a href="https://github.com/mocaccinoOS/mocaccino-stage3/blob/278e3637cf65761bf01a22c891135e237e4717ad/packages/system/stage3/build.yaml">https://github.com/mocaccinoOS/mocaccino-stage3/blob/278e3637cf65761bf01a22c891135e237e4717ad/packages/system/stage3/build.yaml</a></li>
|
|
</ul>
|
|
<h3 id="package_dir"><code>package_dir</code></h3>
|
|
<p>(optional) A path relative to the build container where to create the package from.</p>
|
|
<p>Similarly to <code>unpack</code>, changes the building strategy.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">steps</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">mkdir -p /foo/bar/etc/myapp</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">touch /foo/bar/etc/myapp/config</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">package_dir</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">/foo/bar</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="prelude"><code>prelude</code></h3>
|
|
<p>(optional) A list of commands to perform in the build container before building.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">prelude</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000;font-weight:bold">|</span><span style="color:#8f5902;font-style:italic">
|
|
</span><span style="color:#8f5902;font-style:italic"> PACKAGE_VERSION=${PACKAGE_VERSION%\+*} && \
|
|
</span><span style="color:#8f5902;font-style:italic"> git clone https://github.com/mudler/yip && cd yip && git checkout "${PACKAGE_VERSION}" -b build</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="requires"><code>requires</code></h3>
|
|
<p>(optional/required) List of packages which it depends on.</p>
|
|
<p>A list of packages that the current package depends on in <em>build time</em>. It might be omitted in place of <code>image</code>, and determines the resolution tree of the package itself. A new image is composed from the packages listed in this section in order to build the package</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">requires</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"baz"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>See <a href="/docs/docs/concepts/packages">Package concepts</a> for more information on how to represent a package in a Luet tree.</p>
|
|
<h3 id="requires_final_images"><code>requires_final_images</code></h3>
|
|
<p><em>since luet>=0.17.0</em></p>
|
|
<p>(optional) A boolean flag which instruct luet to use the final images in the <code>requires</code> field.</p>
|
|
<p>By setting <code>requires_final_images: true</code> in the compilation spec, packages in the <code>requires</code> section and its dependencies will be fetched if available or compiled, and afterwards the result is squashed together in a new image that will be used as a source of the build process of the package.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">requires</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"baz"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">requires_final_images</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">true</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p><code>requires_final_images</code> replaces the use of <code>join</code>, which will be deprecated in luet <code>>=0.18.0</code>.</p>
|
|
<h3 id="step"><code>step</code></h3>
|
|
<p>(optional) List of commands to perform in the build container.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">steps</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000;font-weight:bold">|</span><span style="color:#8f5902;font-style:italic">
|
|
</span><span style="color:#8f5902;font-style:italic"> </span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">cd yip && make build-small && mv yip /usr/bin/yip</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="unpack"><code>unpack</code></h3>
|
|
<p>(optional) Boolean flag. It indicates to use the unpacking strategy while building a package</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">unpack</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">true</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>It indicates that the package content <strong>is</strong> the whole container content.</p>
|
|
<h2 id="rutime-specs">Rutime specs</h2>
|
|
<p>Runtime specification are denoted in a <code>definition.yaml</code> or a <code>collection.yaml</code> sibiling file. It identifies the package and the runtime contraints attached to it.</p>
|
|
<p><em>definition.yaml</em>:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"awesome"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"0.1"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">requires</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"echo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">">=1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">conflicts</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">provides</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"<1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>A <code>collection.yaml</code> can be used in place of a <code>definition.yaml</code> to identify a <strong>set</strong> of packages that instead shares a common <code>build.yaml</code>:</p>
|
|
<p><em>collection.yaml</em>:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">packages</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"awesome"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"0.1"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">requires</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"echo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">">=1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">conflicts</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">provides</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"<1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"awesome"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"0.2"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">requires</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"echo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">">=1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">conflicts</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">provides</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"<1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>All the fields (also the ones which are not part of the spec) in the <code>definition.yaml</code> file are available as templating values when rendering the <code>build.yaml</code> file. When running <a href="/docs/docs/concepts/packages/specfile/#finalizers">finalizers</a> instead only the fields belonging to the specs are available.</p>
|
|
<h3 id="keywords-1">Keywords</h3>
|
|
<p>Here is a list of the full keyword refereces</p>
|
|
<h3 id="annotations"><code>annotations</code></h3>
|
|
<p>(optional) A map of freeform package annotations:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">annotations</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">foo</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">baz</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"test"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h4 id="category"><code>category</code></h4>
|
|
<p>(optional) A string containing the category of the package</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"system"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="conflicts-1"><code>conflicts</code></h3>
|
|
<p>(optional) List of packages which it conflicts with in <em>runtime</em>. In the same form of <code>requires</code> it is a list of packages that the current one is conflicting with.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">conflicts</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"baz"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>See <a href="/docs/docs/concepts/packages">Package concepts</a> for more information on how to represent a package in a Luet tree.</p>
|
|
<h3 id="description"><code>description</code></h3>
|
|
<p>(optional) A string indicating the package description</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#204a87;font-weight:bold">description</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo is capable of..."</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="hidden"><code>hidden</code></h3>
|
|
<p>(optional) A boolean indicating whether the package has to be shown or not in the search results (<code>luet search...</code>)</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">hidden</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">true</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="labels"><code>labels</code></h3>
|
|
<p>(optional) A map of freeform package labels:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">labels</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">foo</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">baz</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"test"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>Labels can be used in <code>luet search</code> to find packages by labels, e.g.:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-bash" data-lang="bash">$> luet search --by-label foo
|
|
</code></pre></div><h3 id="license"><code>license</code></h3>
|
|
<p>(optional) A string indicating the package license type.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">license</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"GPL-3"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h4 id="name"><code>name</code></h4>
|
|
<p>(required) A string containing the name of the package</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="provides"><code>provides</code></h3>
|
|
<p>(optional) List of packages which the current package is providing.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">conflicts</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"baz"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>See <a href="/docs/docs/concepts/packages">Package concepts</a> for more information on how to represent a package in a Luet tree.</p>
|
|
<h3 id="requires-1"><code>requires</code></h3>
|
|
<p>(optional) List of packages which it depends on in runtime.</p>
|
|
<p>A list of packages that the current package depends on in <em>runtime</em>. The determines the resolution tree of the package itself.</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">requires</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"foo"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span><span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"baz"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">category</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"bar"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><p>See <a href="/docs/docs/concepts/packages">Package concepts</a> for more information on how to represent a package in a Luet tree.</p>
|
|
<h3 id="uri"><code>uri</code></h3>
|
|
<p>(optional) A list of URI relative to the package ( e.g. the official project pages, wikis, README, etc )</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">uri</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#4e9a06">"http://www.mocaccino.org"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">...</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h4 id="version"><code>version</code></h4>
|
|
<p>(required) A string containing the version of the package</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">version</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">"1.0"</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h2 id="refering-to-packages-from-the-cli">Refering to packages from the CLI</h2>
|
|
<p>All the <code>luet</code> commands which takes a package as argument, respect the following syntax notation:</p>
|
|
<ul>
|
|
<li><code>cat/name</code>: will default to selecting any available package</li>
|
|
<li><code>=cat/name</code>: will default to gentoo parsing with regexp so also <code>=cat/name-1.1</code> works</li>
|
|
<li><code>cat/name@version</code>: will select the specific version wanted ( e.g. <code>cat/name@1.1</code> ) but can also include ranges as well <code>cat/name@>=1.1</code></li>
|
|
<li><code>name</code>: just name, category is omitted and considered empty</li>
|
|
</ul>
|
|
<h2 id="finalizers">Finalizers</h2>
|
|
<p>Finalizers are denoted in a <code>finalize.yaml</code> file, which is a sibiling of <code>definition.yaml</code> and <code>build.yaml</code> file. It contains a list of commands that finalize the package when it is installed in the machine.</p>
|
|
<p><em>finalize.yaml</em>:</p>
|
|
<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#204a87;font-weight:bold">install</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span><span style="color:#f8f8f8;text-decoration:underline"></span>- <span style="color:#000">rc-update add docker default</span><span style="color:#f8f8f8;text-decoration:underline">
|
|
</span></code></pre></div><h3 id="keywords-2">Keywords</h3>
|
|
<ul>
|
|
<li><code>install</code>: List of commands to run in the host machine. Failures are eventually ignored, but will be reported and luet will exit non-zero in such case.</li>
|
|
</ul>
|
|
|
|
|
|
<style>
|
|
.feedback--answer {
|
|
display: inline-block;
|
|
}
|
|
.feedback--answer-no {
|
|
margin-left: 1em;
|
|
}
|
|
.feedback--response {
|
|
display: none;
|
|
margin-top: 1em;
|
|
}
|
|
.feedback--response__visible {
|
|
display: block;
|
|
}
|
|
</style>
|
|
<div class="d-print-none">
|
|
<h2 class="feedback--title">Feedback</h2>
|
|
<p class="feedback--question">Was this page helpful?</p>
|
|
<button class="btn btn-primary mb-4 feedback--answer feedback--answer-yes">Yes</button>
|
|
<button class="btn btn-primary mb-4 feedback--answer feedback--answer-no">No</button>
|
|
<p class="feedback--response feedback--response-yes">
|
|
Glad to hear it! Please <a href="https://github.com/Luet-lab/docs/issues/new">tell us how we can improve</a>.
|
|
</p>
|
|
<p class="feedback--response feedback--response-no">
|
|
Sorry to hear that. Please <a href="https://github.com/Luet-lab/docs/issues/new">tell us how we can improve</a>.
|
|
</p>
|
|
</div>
|
|
<script>
|
|
const yesButton = document.querySelector('.feedback--answer-yes');
|
|
const noButton = document.querySelector('.feedback--answer-no');
|
|
const yesResponse = document.querySelector('.feedback--response-yes');
|
|
const noResponse = document.querySelector('.feedback--response-no');
|
|
const disableButtons = () => {
|
|
yesButton.disabled = true;
|
|
noButton.disabled = true;
|
|
};
|
|
const sendFeedback = (value) => {
|
|
if (typeof ga !== 'function') return;
|
|
const args = {
|
|
command: 'send',
|
|
hitType: 'event',
|
|
category: 'Helpful',
|
|
action: 'click',
|
|
label: window.location.pathname,
|
|
value: value
|
|
};
|
|
ga(args.command, args.hitType, args.category, args.action, args.label, args.value);
|
|
};
|
|
yesButton.addEventListener('click', () => {
|
|
yesResponse.classList.add('feedback--response__visible');
|
|
disableButtons();
|
|
sendFeedback(1);
|
|
});
|
|
noButton.addEventListener('click', () => {
|
|
noResponse.classList.add('feedback--response__visible');
|
|
disableButtons();
|
|
sendFeedback(0);
|
|
});
|
|
</script>
|
|
|
|
<br />
|
|
|
|
|
|
<div class="text-muted mt-5 pt-3 border-top">
|
|
Last modified April 13, 2022: <a href="https://github.com/mudler/luet/commit/58e857e7002d61ca5672547086caee5c4181e30b">:arrow_up: Bump version to 0.31.1 (58e857e)</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
</main>
|
|
</div>
|
|
</div>
|
|
|
|
<footer class="bg-dark py-5 row d-print-none">
|
|
<div class="container-fluid mx-sm-5">
|
|
<div class="row">
|
|
<div class="col-6 col-sm-4 text-xs-center order-sm-2">
|
|
|
|
|
|
|
|
</div>
|
|
<div class="col-6 col-sm-4 text-right text-xs-center order-sm-3">
|
|
|
|
|
|
|
|
<ul class="list-inline mb-0">
|
|
|
|
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="GitHub" aria-label="GitHub">
|
|
<a class="text-white" target="_blank" rel="noopener" href="https://github.com/mudler/luet" aria-label="GitHub">
|
|
<i class="fab fa-github"></i>
|
|
</a>
|
|
</li>
|
|
|
|
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Slack" aria-label="Slack">
|
|
<a class="text-white" target="_blank" rel="noopener" href="https://join.slack.com/t/luet/shared_invite/enQtOTQxMjcyNDQ0MDUxLWQ5ODVlNTI1MTYzNDRkYzkyYmM1YWE5YjM0NTliNDEzNmQwMTkxNDRhNDIzM2Y5NDBlOTZjZTYxYWQyNDE4YzY" aria-label="Slack">
|
|
<i class="fab fa-slack"></i>
|
|
</a>
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
<div class="col-12 col-sm-4 text-center py-2 order-sm-2">
|
|
<small class="text-white">© 2022 Ettore Di Giacinto All Rights Reserved</small>
|
|
<small class="ml-1"><a href="https://policies.google.com/privacy" target="_blank" rel="noopener">Privacy Policy</a></small>
|
|
|
|
<p class="mt-2"><a href="/about/">About Luet</a></p>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
|
|
</div>
|
|
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
|
|
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
|
|
crossorigin="anonymous"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js"
|
|
integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA=="
|
|
crossorigin="anonymous"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script src='/js/tabpane-persist.js'></script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script src="/js/main.min.8ab8f81ff7e1454d30024cd6f956d4d341c3a97e2a673f988065f2ee4e147922.js" integrity="sha256-irj4H/fhRU0wAkzW+VbU00HDqX4qZz+YgGXy7k4UeSI=" crossorigin="anonymous"></script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |