summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <copr-devel@lists.fedorahosted.org>2023-03-06 05:27:39 +0000
committerCoprDistGit <copr-devel@lists.fedorahosted.org>2023-03-06 05:27:39 +0000
commit1b641b66b06714c254aa0c391c6d53d1e698d494 (patch)
tree6a377f41f1d24604ed6f2675c1f6ac8d152cc595
parent1b8aacda70280b5e1c9b7104b0c7feb227533a57 (diff)
automatic import of lizardfs
-rw-r--r--lizardfs-3.13.0.tar.gz576
-rw-r--r--lizardfs.spec620
-rw-r--r--sources0
3 files changed, 1196 insertions, 0 deletions
diff --git a/lizardfs-3.13.0.tar.gz b/lizardfs-3.13.0.tar.gz
new file mode 100644
index 0000000..2c8fdd0
--- /dev/null
+++ b/lizardfs-3.13.0.tar.gz
@@ -0,0 +1,576 @@
+<!DOCTYPE html>
+<html lang='zh-CN'>
+<head>
+<title>登录 - Gitee.com</title>
+<meta content='on' http-equiv='x-dns-prefetch-control'>
+<link href='//e.gitee.com' rel='dns-prefetch'>
+<link href='//files.gitee.com' rel='dns-prefetch'>
+<link href='//toscode.gitee.com' rel='dns-prefetch'>
+<link href='https://cn-assets.gitee.com' rel='dns-prefetch'>
+<link href='https://portrait.gitee.com' rel='dns-prefetch'>
+<link rel="shortcut icon" type="image/vnd.microsoft.icon" href="https://cn-assets.gitee.com/assets/favicon-9007bd527d8a7851c8330e783151df58.ico" />
+
+<meta charset='utf-8'>
+<meta content='always' name='referrer'>
+<meta content='Gitee' property='og:site_name'>
+<meta content='Object' property='og:type'>
+<meta content='https://gitee.com/login?redirect_to_url=%2Fkjpioo2006%2Flizardfs%2Fraw%2Fmaster%2Flizardfs-3.13.0.tar.gz' property='og:url'>
+<meta content='https://gitee.com/static/images/logo_themecolor.png' itemprop='image' property='og:image'>
+<meta content='登录 - Gitee.com' itemprop='name' property='og:title'>
+<meta content='Gitee.com(码云) 是 OSCHINA.NET 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 1000 万的开发者选择 Gitee。' property='og:description'>
+<meta content='码云,Gitee,代码托管,Git,Git@OSC,Gitee.com,开源,内源,项目管理,版本控制,开源代码,代码分享,项目协作,开源项目托管,免费代码托管,Git代码托管,Git托管服务' name='Keywords'>
+<meta content='Gitee.com(码云) 是 OSCHINA.NET 推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 1000 万的开发者选择 Gitee。' itemprop='description' name='Description'>
+<meta content='pc,mobile' name='applicable-device'>
+
+<meta content="IE=edge" http-equiv="X-UA-Compatible" />
+<meta name="csrf-param" content="authenticity_token" />
+<meta name="csrf-token" content="r1DacIk73iJklSwMYytDebOEDT2BnAhoQxmGhG383/dhPKbnVb/DFjD8uEJls9Crq56gr1mOpd+cBTjhTZWmHg==" />
+
+<link rel="stylesheet" media="all" href="https://cn-assets.gitee.com/assets/application-512f92360ed758462370a7c2f61bd419.css" />
+<script>
+//<![CDATA[
+window.gon = {};gon.locale="zh-CN";gon.sentry_dsn=null;gon.baidu_register_hm_push=null;gon.sensor={"server_url":"https://haveaniceday.gitee.com:3443/sa?project=production","sdk_url":"https://cn-assets.gitee.com/assets/static/sensors-sdk-2f850fa5b654ad55ac0993fda2f37ba5.js","page_type":"其他"};gon.info={"controller_path":"sessions","action_name":"new","current_user":false};gon.tour_env={"current_user":null,"action_name":"new","original_url":"https://gitee.com/login?redirect_to_url=%2Fkjpioo2006%2Flizardfs%2Fraw%2Fmaster%2Flizardfs-3.13.0.tar.gz","controller_path":"sessions"};gon.yunpian_key=false;gon.encrypt={"enabled":true,"separator":"$gitee$","password_key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIrn+WB2Yi4ABAL5Tq6E09tumY\nqVTFdpU01kCDUmClczJOCGZriLNMrshmN9NJxazpqizPthwS1OIK3HwRLEP9D3GL\n7gCnvN6lpIpoVwppWd65f/rK2ewv6dstN0fCmtVj4WsLUchWlgNuVTfWljiBK/Dc\nYkfslRZzCq5Fl3ooowIDAQAB\n-----END PUBLIC KEY-----\n"};gon.oversea_login=false;
+//]]>
+</script>
+<script src="https://cn-assets.gitee.com/assets/static/sensor-6269b9ad61bbcdaff20078e5dcff62d5.js"></script>
+<script src="https://cn-assets.gitee.com/assets/static/sentry-5.1.0-a823fb0be1b61c5d7ca4a89f0536cb0a.js"></script>
+<script src="https://cn-assets.gitee.com/assets/application-bd2a74541a7204a682192967e5592250.js"></script>
+<script src="https://cn-assets.gitee.com/assets/lib/jquery.timeago.zh-CN-4a4818e98c1978d2419ab19fabcba740.js"></script>
+
+<script src="/static/javascripts/polyfill-7.4.3.min.js"></script>
+<script src="/static/javascripts/yunpian/riddler-sdk-0.2.2.js?t=1629687362163"></script>
+<script src="https://cn-assets.gitee.com/assets/encrypt-d49cb3adc96d2acf1f8d85390cecb54d.js"></script>
+<script src="https://cn-assets.gitee.com/assets/devise/application-ff8352bcceeebb48e808d451ebfc09e0.js"></script>
+
+<script src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
+<script>
+ var title = document.title.replace(/( - Gitee| - 码云)$/, '')
+ imgUrl = '';
+
+ document.addEventListener('DOMContentLoaded', function(event) {
+ var imgUrlEl = document.querySelector('.readme-box .markdown-body > img, .readme-box .markdown-body :not(a) > img');
+ imgUrl = imgUrlEl && imgUrlEl.getAttribute('src');
+
+ if (!imgUrl) {
+ imgUrlEl = document.querySelector('meta[itemprop=image]');
+ imgUrl = imgUrlEl && imgUrlEl.getAttribute('content');
+ imgUrl = imgUrl || "https://gitee.com/static/images/logo_themecolor.png";
+ }
+
+ wx.config({
+ debug: false,
+ appId: "wxff219d611a159737",
+ timestamp: "1678080449",
+ nonceStr: "a18535222e18a361958c46f612f3b24d",
+ signature: "47d4bdd2ed005008ecfc04a6c0aab6412ed8ac5b",
+ jsApiList: [
+ 'onMenuShareTimeline',
+ 'onMenuShareAppMessage'
+ ]
+ });
+
+ wx.ready(function () {
+ wx.onMenuShareTimeline({
+ title: title, // 分享标题
+ link: "https://gitee.com/login?redirect_to_url=%2Fkjpioo2006%2Flizardfs%2Fraw%2Fmaster%2Flizardfs-3.13.0.tar.gz", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
+ imgUrl: imgUrl // 分享图标
+ });
+ wx.onMenuShareAppMessage({
+ title: title, // 分享标题
+ link: "https://gitee.com/login?redirect_to_url=%2Fkjpioo2006%2Flizardfs%2Fraw%2Fmaster%2Flizardfs-3.13.0.tar.gz", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
+ desc: document.querySelector('meta[name=Description]').getAttribute('content'),
+ imgUrl: imgUrl // 分享图标
+ });
+ });
+ wx.error(function(res){
+ console.error('err', res)
+ });
+ })
+</script>
+
+<script type='text/x-mathjax-config'>
+MathJax.Hub.Config({
+ tex2jax: {
+ inlineMath: [['$','$'], ['\\(','\\)']],
+ displayMath: [["$$","$$"],["\\[","\\]"]],
+ processEscapes: true,
+ skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code'],
+ ignoreClass: "container|files",
+ processClass: "markdown-body"
+ }
+});
+</script>
+<script src="https://cn-assets.gitee.com/uploads/resources/MathJax-2.7.2/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
+
+<script>
+ (function () {
+ var messages = {
+ 'zh-CN': {
+ addResult: '增加 <b>{term}</b>',
+ count: '已选择 {count}',
+ maxSelections: '最多 {maxCount} 个选择',
+ noResults: '未找到结果',
+ serverError: '连接服务器时发生错误'
+ },
+ 'zh-TW': {
+ addResult: '增加 <b>{term}</b>',
+ count: '已選擇 {count}',
+ maxSelections: '最多 {maxCount} 個選擇',
+ noResults: '未找到結果',
+ serverError: '連接服務器時發生錯誤'
+ }
+ }
+
+ if (messages[gon.locale]) {
+ $.fn.dropdown.settings.message = messages[gon.locale]
+ }
+ }());
+</script>
+
+<script>
+ var userAgent = navigator.userAgent;
+ var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1;
+ if(isLessIE11){
+ var can_access = ""
+ if (can_access != "true"){
+ window.location.href = "/incompatible.html";
+ }
+ }
+ document.addEventListener("error", function (ev) {
+ var elem = ev.target;
+ if (elem.tagName.toLowerCase() === 'img') {
+ elem.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAAAAACIM/FCAAACh0lEQVR4Ae3ch5W0OgyG4dt/mQJ2xgQPzJoM1m3AbALrxzrf28FzsoP0HykJEEAAAUQTBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEkKK0789+GK/I2ezfQB522PnS1qc8pGgXvr4tE4aY0XOUWlGImThWgyCk6DleixzE7qwBkg/MGiDPlVVAyp1VQGrPKiACDhFI6VkF5LmzCki+sg7IwDoglnVAil0IMkeG9CyUiwsxLFUVFzJJOQaKCjFCDN9RXMjIX7W6ztZXZDKKCyn8sWJvH+nca7WHDN9lROlAliPH9iRKCPI4cswFJQWxB46toLQgQ9jhn5QYZA9DOkoMUoQde5YapAxDWkoNYsOQR3KQd9CxUnIQF4S49CB9ENKlBxmDEKsFUgMCCCCAAHIrSF61f6153Ajy8nyiPr8L5MXnmm4CyT2fzN4DUvHZ+ntA2tOQBRBAAAEEEEAAAQQQ7ZBaC6TwSiDUaYHQ2yuB0MN+ft+43whyrs4rgVCjBUKTFshLC6TUAjGA3AxSaYFYLZBOC2RUAsk8h5qTg9QcbEoOsoQhQ2qQhsO5xCD5dgB5JQaZ+KBKGtKecvR81Ic0ZDjByKdDx0rSEDZ/djQbH+bkIdvfJFm98BfV8hD2zprfVdlu9PxVeyYAkciREohRAplJCaRSAplJCcQogTjSAdlyHRBvSAekJR0QRzogA+mADJkOiCPSAPEtqYBshlRAXC43hxix2QiOuEZkVERykGyNo9idIZKE0HO7XrG6OiMShlDWjstVzdPgXtUH9v0CEidAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQP4HgjZxTpdEii0AAAAASUVORK5CYII=";
+ }
+ }, true);
+</script>
+</head>
+
+<body class='home session-body ui_basic'>
+<div class='site-content'>
+<div class='fixed-notice-infos'>
+<div class='all-messages'>
+</div>
+<div class='ui container'>
+<div class='flash-messages' id='messages-container'></div>
+</div>
+<script>
+ (function() {
+ $(function() {
+ var $error_box, alertTip, notify_content, notify_options, template;
+ template = '<div data-notify="container" class="ui {0} message" role="alert">' + '<i data-notify="dismiss" class="close icon"></i>' + '<span data-notify="message">{2}</span>' + '</div>';
+ notify_content = null;
+ notify_options = {};
+ alertTip = '';
+ $error_box = $(".flash_error.flash_error_box");
+ if (notify_options.type === 'error' && $error_box.length > 0 && !$.isEmptyObject(notify_content.message)) {
+ if (notify_content.message === 'captcha_fail') {
+ alertTip = "验证码不正确";
+ } else if (notify_content.message === 'captcha_expired') {
+ alertTip = "验证码已过期,请点击刷新";
+ } else if (notify_content.message === 'not_found_in_database') {
+ alertTip = "帐号或者密码错误";
+ } else if (notify_content.message === 'not_found_and_show_captcha') {
+ alertTip = "帐号或者密码错误";
+ } else if (notify_content.message === 'phone_captcha_fail') {
+ alertTip = "手机验证码不通过";
+ } else {
+ alertTip = notify_content.message;
+ }
+ return $error_box.html(alertTip).show();
+ } else if (notify_content) {
+ if ("new" === 'third_party_binding') {
+ return $('#third_party_binding-message').html(notify_content.message).addClass('ui message red');
+ }
+ notify_options.delay = 3000;
+ notify_options.template = template;
+ notify_options.offset = {
+ x: 10,
+ y: 30
+ };
+ notify_options.element = '#messages-container';
+ return $.notify(notify_content, notify_options);
+ }
+ });
+
+ }).call(this);
+</script>
+
+</div>
+<script>
+ (function() {
+ $(function() {
+ var setCookie;
+ setCookie = function(name, value) {
+ $.cookie(name, value, {
+ path: '/',
+ expires: 365
+ });
+ };
+ $('#remove-bulletin, #remove-bulletin-dashboard').on('click', function() {
+ setCookie('remove_bulletin', "gitee-maintain-1677815209");
+ $('#git-bulletin').hide();
+ });
+ $('#remove-member-bulletin').on('click', function() {
+ setCookie('remove_member_bulletin', "gitee_member_bulletin");
+ $(this).parent().hide();
+ });
+ return $('#remove-gift-bulletin').on('click', function() {
+ setCookie('remove_gift_bulletin', "gitee-gift-bulletin");
+ $(this).parent().hide();
+ });
+ });
+
+ }).call(this);
+</script>
+<script>
+ function closeMessageBanner(pthis, type, val) {
+ var json = {}
+
+ val = typeof val === 'undefined' ? null : val
+ $(pthis).parent().remove()
+ if (type === 'out_of_enterprise_member') {
+ json = {type: type, data: val}
+ } else if (type === 'enterprise_overdue') {
+ json = {type: type, data: val}
+ }
+ $.post('/profile/close_flash_tip', json)
+ }
+</script>
+
+<script>
+ var userAgent = navigator.userAgent;
+ var isLessIE11 = userAgent.indexOf('compatible') > -1 && userAgent.indexOf('MSIE') > -1;
+ if(isLessIE11){
+ var can_access = ""
+ if (can_access != "true"){
+ window.location.href = "/incompatible.html";
+ }
+ }
+</script>
+
+<script src="https://cn-assets.gitee.com/assets/new-editor/bootstrap/transition-d4dc20bf5896a91450f177b5d763ae4a.js"></script>
+<script src="https://cn-assets.gitee.com/assets/new-editor/bootstrap/carousel-b36e4e6094e970507a7144098fc191da.js"></script>
+<style>
+ #udesk_container #udesk_btn a{
+ margin: 18px 14px 14px 18px !important;
+ }
+</style>
+<div class='session-wrapper lang-zh d-none'>
+<div class='ui container'>
+<div class='session__body'>
+<div class='session-sidebox'>
+<div class='session-sidebox__container'>
+<div class='session-sidebox__header'>
+<div class='session-sidebox__logo'>
+<img alt="logo" src="/static/images/logo.svg?t=158106664" />
+</div>
+<h1 class='session-sidebox__title'>
+</h1>
+<h2 class='session-sidebox__subtitle'>
+企业级 DevOps 研发管理平台
+</h2>
+</div>
+<div class='session-sidebox__content'>
+<div class="session-sidebox-content__container"> <div class="session-sidebox-comments__header"> <span class="session-sidebox-comments__title">贤心</span> <span class="session-sidebox-comments__position">layui</span> </div> <div class="session-sidebox-comments__content">Gitee 已成为我工作的依赖,从个人私有库到企业版,每一项解决方案都直击痛点。而它更吸引人的,是开放的姿态和优质的本土化基因。告诉世界:我们在自豪地使用 Gitee!</div> </div>
+</div>
+<div class='session-sidebox__footer'>
+<a target="_blank" sa_evt="click_GiteeCommunity_login_GiteeEnhot" href="/enterprises?from=login"><strong class='session-sidebox__icon-hot'>Gitee 企业版</strong>
+<span class='session-sidebox__divider'>-</span>
+企业级 DevOps 研发管理平台
+<i class="iconfont icon-arrow-circle-right "></i>
+</a></div>
+</div>
+
+</div>
+<div class='session-form'>
+<div class='session-form__container is-login'>
+<header class='session-form__header'>
+<h2 class='session-form__title'>
+<span>登录</span>
+</h2>
+<span class='pull-right'>
+没有帐号?
+<a sa_evt="click_GiteeCommunity_login_signup" href="/signup#lang=zh-CN">点此注册</a>
+</span>
+</header>
+<div class='session__flash-error'>
+<div class='ui message error flash_error flash_error_box'></div>
+</div>
+<form class="ui custom form session__control session-login__form session-login__with-password " data-need-verify="false" data-control="password" data-encrypt="true" data-key="password" id="new_user" action="/login" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="fY6IMF3e1jJSFh55H30Lq5Lxs1Y90KN1EXAUmaiOkF+z4vSngVrLBgZ/ijcZ5Zh5iusexOXCDsLObKr8iOfptg==" /><input type="hidden" name="redirect_to_url" id="redirect_to_url" value="/kjpioo2006/lizardfs/raw/master/lizardfs-3.13.0.tar.gz" />
+<div class='session-login__body'>
+<div class='session-form__fields'>
+<div class='git-login-form-fields'>
+<div class='field' id='git-login'>
+<input placeholder="手机/邮箱/个人空间地址" class="login-password__account-input" type="text" name="user[login]" id="user_login" />
+</div>
+<div class='field'>
+<input placeholder="请输入密码" data-encrypt="true" type="password" name="user[password]" id="user_password" />
+</div>
+<div class='two fields'>
+<div class='field'>
+<div class='ui checkbox js-checkbox' sa_evt='click_GiteeCommunity_login_remember'><input name="user[remember_me]" type="hidden" value="0" /><input type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" /><label>记住我</label></div>
+</div>
+<div class='field' style='text-align: right'>
+<a class="session__toggle-button" data-control="phone" sa_evt="click_GiteeCommunity_login_sms" href="">短信验证登录</a>
+</div>
+</div>
+<div class='field'>
+<input type="submit" name="commit" value="登 录" class="ui fluid orange submit button large" sa_evt="click_GiteeCommunity_login_login" />
+</div>
+<div class='field text-center'>
+<a class="forget-password" sa_evt="click_GiteeCommunity_login_forget" href="/password/new">已有帐号,忘记密码?</a>
+</div>
+</div>
+</div>
+</div>
+</form>
+
+<form class="ui custom form session__control session-login__form session-login__with-phone hide" data-control="phone" id="new_user" action="/login" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="&#x2713;" /><input type="hidden" name="authenticity_token" value="8jykKO/HEcP1i7vAz1O+c55Qa1ajNMqYnkWTA3B0YY08UNi/M0MM96HiL47Jyy2hhkrGxHsmZy9BWS1mUB0YZA==" /><input value="sms" type="hidden" name="user[login_type]" id="user_login_type" />
+<input type="hidden" name="redirect_to_url" id="redirect_to_url" value="/kjpioo2006/lizardfs/raw/master/lizardfs-3.13.0.tar.gz" />
+<input class='placeholder__autofill-text'>
+<div class='field'>
+<input class="session-login__phone-input" placeholder="手机号码" sa_evt="click_GiteeCommunity_login_input" type="text" name="user[login]" id="user_login" />
+</div>
+<div class='field'>
+<div class='ui right labeled input captcha-labeled'>
+<input disabled="disabled" class="session-login__captcha-input" placeholder="手机验证码" type="text" name="user[account_captcha]" id="user_account_captcha" />
+<div class='ui basic orange button session-login__captcha-button' sa_evt='click_GiteeCommunity_login_captcha'>
+发送验证码
+</div>
+
+<div class='ui danger popup captcha-popup'>
+<p style='min-width: 162px;'>
+收不到验证码?
+<a href="/self_services">获取帮助</a>
+</p>
+</div>
+<script>
+ $(function () {
+ var $captchaPopup = $('.captcha-popup');
+ var $targetButton = $captchaPopup.prev();
+
+ if ($targetButton && $targetButton.length) {
+ $targetButton.popup({
+ popup: $captchaPopup,
+ on: 'manual',
+ position: 'right center',
+ variation: 'large',
+ transition: 'fade',
+ duration: 500,
+ lastResort: 'top center',
+ prefer: 'adjacent'
+ });
+ }
+ });
+</script>
+</div>
+</div>
+<div class='two fields'>
+<div class='field'>
+<div class='ui checkbox js-checkbox'><input name="user[remember_me]" type="hidden" value="0" /><input type="checkbox" value="1" name="user[remember_me]" id="user_remember_me" /><label>记住我</label></div>
+</div>
+<div class='field' style='text-align: right'>
+<a class="session__toggle-button" data-control="password" sa_evt="click_GiteeCommunity_login_password" href="/login">用户名密码登录</a>
+</div>
+</div>
+<div class='field'>
+<input type="submit" name="commit" value="登 录" class="ui fluid orange submit button large" sa_evt="click_GiteeCommunity_login_login" />
+</div>
+<div class='field text-center'>
+<a class="forget-password" href="/password/new">已有帐号,忘记密码?</a>
+</div>
+</form>
+
+<div class='session-login-oauth'>
+<div class='session-login__oschina'>
+<a sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="oschina" href="https://gitee.com/auth/oschina"><i class='icon-logo-osc iconfont osc'></i>
+<span>
+使用 OSChina 帐号登录
+</span>
+</a></div>
+<div class='session-login-oauth__container'>
+<div class='field'>
+<div class='ui horizontal divider session-login__oauth-title'>
+<span class='text-muted'>
+其他方式登录
+</span>
+</div>
+</div>
+<div class='ui horizontal list session-oauth__list'>
+<div class='item'>
+<a sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="aliyun" href="https://gitee.com/auth/aliyun"><div class='git-other-login-icon'>
+<i class='aliyun icon-logo_aliyun iconfont' title='使用阿里云帐号登录'></i>
+</div>
+</a></div>
+<div class='item'>
+<a sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="gitlab" href="https://gitee.com/auth/gitlab"><div class='git-other-login-icon'>
+<i class='gitlab icon-logo-gitlab iconfont' title='使用 GitLab 帐号登录'></i>
+</div>
+</a></div>
+<div class='item'>
+<a sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="huawei" href="https://gitee.com/auth/huawei"><div class='git-other-login-icon'>
+<i class='huawei icon-logo_huawei iconfont' title='使用华为帐号登录'></i>
+</div>
+</a></div>
+<div class='item'>
+<a sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="github" href="https://gitee.com/auth/github"><div class='git-other-login-icon'>
+<i class='github icon-logo-github iconfont' title='使用 GitHub 帐号登录'></i>
+</div>
+</a></div>
+<div class='item'>
+<span class='session-oauth__other-icon js-popup-default' data-popup-hoverable='true' data-position='left center'>
+<i class="iconfont icon-ic-action-more "></i>
+</span>
+<div class='ui flowing popup session-oauth__other'>
+<div class='session-oauth__other-list'>
+<a class="item" sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="weibo" href="https://gitee.com/auth/weibo"><div class='git-other-login-icon'>
+<i class='icon-logo-weibo iconfont weibo' title='使用 Weibo 帐号登录'></i>
+</div>
+</a><a class="item" sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="qq_connect" href="https://gitee.com/auth/qq_connect"><div class='git-other-login-icon'>
+<i class='icon-logo-qq iconfont qq' title='使用 QQ 帐号登录'></i>
+</div>
+</a><a class="item" sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="windowslive" href="https://gitee.com/auth/windowslive"><div class='git-other-login-icon'>
+<i class='icon-logo-windows iconfont windows' title='使用 WindowsLive 帐号登录'></i>
+</div>
+</a><a class="item" sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="wechat" href="https://gitee.com/auth/wechat"><div class='git-other-login-icon'>
+<i class='icon-logo_wechat iconfont wechat' title='使用微信帐号登录'></i>
+</div>
+</a><a class="item" sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="dingding" href="https://gitee.com/auth/dingding"><div class='git-other-login-icon'>
+<i class='dingding icon-logo-dingding iconfont' title='使用钉钉帐号登录'></i>
+</div>
+</a><a class="item" sa_evt="click_GiteeCommunity_login_thirdparty" sa_click_bottom="trustie" href="https://gitee.com/auth/trustie"><div class='git-other-login-icon'>
+<i class='icon-logo_trustie iconfont trustie' title='使用 Trustie 帐号登录'></i>
+</div>
+</a></div>
+</div>
+</div>
+</div>
+</div>
+
+</div>
+
+<script>
+ if (window.sensors) {
+ window.sensors.track('view_GiteeCommunity_login');
+ }
+</script>
+</div>
+
+<a id='udeskBtn'>
+<img alt="udesk" width="40" height="40" src="https://cn-assets.gitee.com/assets/udesk_btn-2281240ad5574e66b38192030789f521.png" />
+</a>
+<div class='ui popup dark left center transition hidden js-udesk_name'>智能客服</div>
+<div class='ui popup dark left center transition hidden js-udesk-first-tip text-left' style='white-space: normal;'>
+<div class='content' style='width: 218px;font-size: 14px;font-weight: 400;'>
+<div class='text mb-1'>使用过程中有任何问题,可以在帮助中心查询哦~</div>
+<a class='btn cursor-pointer hover-color' style='color: #FE7201'>我知道了</a>
+</div>
+</div>
+<script>
+ ;(function(){
+ ;(function (a, h, c, b, f, g) {
+ a['UdeskApiObject'] = f
+ a[f] =
+ a[f] ||
+ function () {
+ ;(a[f].d = a[f].d || []).push(arguments)
+ }
+ g = h.createElement(c)
+ g.async = 1
+ g.charset = 'utf-8'
+ g.src = b
+ c = h.getElementsByTagName(c)[0]
+ c.parentNode.insertBefore(g, c)
+
+ })(window, document, 'script', 'https://assets-cli.s4.udesk.cn/im_client/js/udeskApi.js', 'ud')
+ ud({
+ code: '1hhcdjh',
+ link: 'https://1588039.s4.udesk.cn/im_client/?web_plugin_id=2649',
+ "onReady": function() {
+ $(document).trigger('udeskOnload')
+ },
+ targetSelector: '#udeskBtn'
+ });
+
+ $(document).on('udeskOnload', function() {
+ var $udeskBtn = $('#udeskBtn')
+ $udeskBtn.popup({
+ popup: '.js-udesk_name'
+ })
+ })
+ })();
+</script>
+<style>
+ #udeskBtn {
+ right: 14px;
+ bottom: 14px;
+ position: fixed; }
+</style>
+
+
+</div>
+</div>
+<div class='session__footer container'>
+<span class='session__footer-item'>
+<a target="_blank" sa_evt="click_GiteeCommunity_signup_login_bottomtab" sa_click_bottom="Gitee.com" href="https://gitee.com/">© Gitee.com</a>
+</span>
+<span class='session__footer-item'>
+<a sa_evt="click_GiteeCommunity_signup_login_bottomtab" sa_click_bottom="关于我们" href="/about_us">关于我们</a>
+</span>
+<span class='session__footer-item'>
+<a sa_evt="click_GiteeCommunity_signup_login_bottomtab" sa_click_bottom="使用条款" href="/terms">使用条款</a>
+</span>
+<span class='session__footer-item'>
+<a sa_evt="click_GiteeCommunity_signup_login_bottomtab" sa_click_bottom="帮助文档" href="https://help.gitee.com">帮助文档</a>
+</span>
+<span class='session__footer-item'>
+<a sa_evt="click_GiteeCommunity_signup_login_bottomtab" sa_click_bottom="在线自助服务" href="/self_services">在线自助服务</a>
+</span>
+<span class='session__footer-item'>
+<a sa_evt="click_GiteeCommunity_signup_login_bottomtab" sa_click_bottom="重发激活邮件" href="/user/activate">重发激活邮件</a>
+</span>
+</div>
+
+</div>
+</div>
+<script>
+ window.gon.is_oversea = false
+</script>
+
+
+<script>
+ gon.globalLang = {
+ login: "帐号",
+ username: "用户名",
+ nickname: "姓名",
+ path: "个人空间地址",
+ phone: "手机号码",
+ email: "邮箱",
+ phone_or_email: "手机或邮箱",
+ password: "密码",
+ code: "识别码",
+ sending: "正在发送...",
+ sended: "已发送",
+ resend: "秒后可重发",
+ captcha: "验证码",
+ resend_captcha: "重发验证码",
+ phone_captcha: "手机验证码",
+ email_captcha: "邮箱验证",
+ read_and_accept_clause: "请阅读并同意我们的服务条款",
+
+ user_name_error: "昵称不能为空,或包含空格",
+ namespace_name_error: "仅支持至少两位,中文/英文/数字/下划线/中划线/圆括号,不能以下划线/中划线开头或结尾,不可包含 /",
+ username_format_error: "地址只允许字母、数字或者下划线(_)、中划线(-),至少 2 个字符,必须以字母开头,不能以特殊字符结尾",
+ account_invalid_error: "请输入正确的手机号码(支持澳门台湾)或邮箱",
+ password_invalid_error: "密码必须包含数字,且必须包含字母或其它符号(!@_#$%^&*()-+=,.?)",
+ phone_error: "手机号码格式不正确",
+ captcha_fail: "验证码不正确",
+ captcha_expired: "验证码已过期,请点击刷新",
+ not_found_in_database: "帐号或者密码错误",
+ not_found_and_show_captcha: "帐号或者密码错误",
+ };
+</script>
+
+</div>
+</body>
+</html>
diff --git a/lizardfs.spec b/lizardfs.spec
new file mode 100644
index 0000000..3f7e5c5
--- /dev/null
+++ b/lizardfs.spec
@@ -0,0 +1,620 @@
+Summary: LizardFS - distributed, fault tolerant file system
+Name: lizardfs
+Version: 3.13.0
+Release: 0
+License: GPL v3
+Group: System Environment/Daemons
+URL: http://www.lizardfs.org/
+Source: https://gitee.com/kjpioo2006/lizardfs/raw/master/lizardfs-3.13.0.tar.gz
+BuildRequires: fuse-devel
+BuildRequires: cmake
+BuildRequires: pkgconfig
+BuildRequires: zlib-devel
+BuildRequires: asciidoc
+BuildRequires: systemd
+BuildRequires: fmt
+BuildRequires: fmt-devel
+BuildRequires: spdlog
+BuildRequires: spdlog-devel
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+%define liz_project lizardfs
+%define liz_group %{liz_project}
+%define liz_user %{liz_project}
+%define liz_datadir %{_localstatedir}/lib/%{liz_project}
+%define liz_confdir %{_sysconfdir}/%{liz_project}
+%define liz_limits_conf /etc/security/limits.d/10-lizardfs.conf
+%define liz_pam_d /etc/pam.d/lizardfs
+%define _unpackaged_files_terminate_build 0
+%define debug_package %{nil}
+
+%description
+LizardFS is an Open Source, easy to deploy and maintain, distributed,
+fault tolerant file system for POSIX compliant OSes.
+LizardFS is a fork of MooseFS. For more information please visit
+http://lizardfs.com
+
+# Packages
+############################################################
+
+%package master
+Summary: LizardFS master server
+Group: System Environment/Daemons
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+
+%description master
+LizardFS master (metadata) server together with metarestore utility.
+
+%package metalogger
+Summary: LizardFS metalogger server
+Group: System Environment/Daemons
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+
+%description metalogger
+LizardFS metalogger (metadata replication) server.
+
+%package chunkserver
+Summary: LizardFS data server
+Group: System Environment/Daemons
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+
+%description chunkserver
+LizardFS data server.
+
+%package client
+Summary: LizardFS client
+Group: System Environment/Daemons
+Requires: fuse
+Requires: fuse-libs
+Requires: bash-completion
+
+%description client
+LizardFS client: mfsmount and mfstools.
+
+%package client3
+Summary: LizardFS client using FUSE3
+Group: System Environment/Daemons
+Requires: lizardfs-client
+
+%description client3
+LizardFS client: mfsmount and mfstools.
+
+%package lib-client
+Summary: LizardFS client C/C++ library
+Group: Development/Libraries
+
+%description lib-client
+LizardFS client library for C/C++ bindings.
+
+### Uncomment lines below to re-enable ganesha build.
+# %package nfs-ganesha
+# Summary: LizardFS plugin for nfs-ganesha
+# Group: System Environment/Libraries
+# Requires: lizardfs-lib-client
+#
+# %description nfs-ganesha
+# LizardFS fsal plugin for nfs-ganesha.
+
+%package cgi
+Summary: LizardFS CGI Monitor
+Group: System Environment/Daemons
+Requires: python3
+
+%description cgi
+LizardFS CGI Monitor.
+
+%package cgiserv
+Summary: Simple CGI-capable HTTP server to run LizardFS CGI Monitor
+Group: System Environment/Daemons
+Requires: %{name}-cgi = %{version}-%{release}
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+
+%description cgiserv
+Simple CGI-capable HTTP server to run LizardFS CGI Monitor.
+
+%package adm
+Summary: LizardFS administration utility
+Group: System Environment/Daemons
+
+%description adm
+LizardFS command line administration utility.
+
+%package uraft
+Summary: LizardFS cluster management tool
+Group: System Environment/Daemons
+Requires: lizardfs-master
+Requires: lizardfs-adm
+Requires: boost-system
+Requires: boost-program-options
+
+%description uraft
+LizardFS cluster management tool.
+
+# Scriptlets - master
+############################################################
+
+%pre master
+if ! getent group %{liz_group} > /dev/null 2>&1 ; then
+ groupadd --system %{liz_group}
+fi
+if ! getent passwd %{liz_user} > /dev/null 2>&1 ; then
+ adduser --system -g %{liz_group} --no-create-home --home-dir %{liz_datadir} %{liz_user}
+fi
+if [ ! -f %{liz_limits_conf} ]; then
+ echo "%{liz_user} soft nofile 10000" > %{liz_limits_conf}
+ echo "%{liz_user} hard nofile 10000" >> %{liz_limits_conf}
+ chmod 0644 %{liz_limits_conf}
+fi
+if [ ! -f %{liz_pam_d} ]; then
+ echo "session required pam_limits.so" > %{liz_pam_d}
+fi
+exit 0
+
+%post master
+%systemd_post lizardfs-master.service
+
+%preun master
+%systemd_preun lizardfs-master.service
+
+%postun master
+%systemd_postun_with_restart lizardfs-master.service
+
+# Scriptlets - metalogger
+############################################################
+
+%pre metalogger
+if ! getent group %{liz_group} > /dev/null 2>&1 ; then
+ groupadd --system %{liz_group}
+fi
+if ! getent passwd %{liz_user} > /dev/null 2>&1 ; then
+ adduser --system -g %{liz_group} --no-create-home --home-dir %{liz_datadir} %{liz_user}
+fi
+exit 0
+
+%post metalogger
+%systemd_post lizardfs-metalogger.service
+
+%preun metalogger
+%systemd_preun lizardfs-metalogger.service
+
+%postun metalogger
+%systemd_postun_with_restart lizardfs-metalogger.service
+
+# Scriptlets - chunkserver
+############################################################
+
+%pre chunkserver
+if ! getent group %{liz_group} > /dev/null 2>&1 ; then
+ groupadd --system %{liz_group}
+fi
+if ! getent passwd %{liz_user} > /dev/null 2>&1 ; then
+ adduser --system -g %{liz_group} --no-create-home --home-dir %{liz_datadir} %{liz_user}
+fi
+if [ ! -f %{liz_limits_conf} ]; then
+ echo "%{liz_user} soft nofile 10000" > %{liz_limits_conf}
+ echo "%{liz_user} hard nofile 10000" >> %{liz_limits_conf}
+ chmod 0644 %{liz_limits_conf}
+fi
+if [ ! -f %{liz_pam_d} ]; then
+ echo "session required pam_limits.so" > %{liz_pam_d}
+fi
+exit 0
+
+%post chunkserver
+%systemd_post lizardfs-chunkserver.service
+
+%preun chunkserver
+%systemd_preun lizardfs-chunkserver.service
+
+%postun chunkserver
+%systemd_postun_with_restart lizardfs-chunkserver.service
+
+# Scriptlets - CGI server
+############################################################
+
+%post cgiserv
+%systemd_post lizardfs-cgiserv.service
+
+%preun cgiserv
+%systemd_preun lizardfs-cgiserv.service
+
+%postun cgiserv
+%systemd_postun_with_restart lizardfs-cgiserv.service
+
+# Scriptlets - client3
+############################################################
+
+%post client3
+/bin/ln -sf %{_mandir}/man1/mfsmount.1 %{_mandir}/man1/mfsmount3.1
+
+# Scriptlets - uraft
+############################################################
+
+%post uraft
+echo "net.ipv4.conf.all.arp_accept = 1" > /etc/sysctl.d/10-lizardfs-uraft-arp.conf
+chmod 0664 /etc/sysctl.d/10-lizardfs-uraft-arp.conf
+sysctl -p /etc/sysctl.d/10-lizardfs-uraft-arp.conf
+echo "# Allow lizardfs user to set floating ip" > /etc/sudoers.d/lizardfs-uraft
+echo "lizardfs ALL=NOPASSWD:/sbin/ip" >> /etc/sudoers.d/lizardfs-uraft
+echo 'Defaults !requiretty' >> /etc/sudoers
+
+# Prep, build, install, files...
+############################################################
+
+%prep
+%setup
+
+%build
+./configure --with-doc
+make %{?_smp_mflags}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+install -d -m755 $RPM_BUILD_ROOT/%{liz_confdir}
+install -d -m755 $RPM_BUILD_ROOT/%{_unitdir}
+for f in rpm/service-files/*.service ; do
+ install -m644 "$f" $RPM_BUILD_ROOT/%{_unitdir}/$(basename "$f")
+done
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files master
+%define liz_master_examples %{_docdir}/lizardfs-master/examples
+%defattr(644,root,root,755)
+%doc NEWS README.md UPGRADE
+%attr(755,root,root) %{_sbindir}/mfsmaster
+%attr(755,root,root) %{_sbindir}/mfsrestoremaster
+%attr(755,root,root) %{_sbindir}/mfsmetadump
+%attr(755,root,root) %{_sbindir}/mfsmetarestore
+%dir %{liz_confdir}
+%attr(755,%{liz_user},%{liz_group}) %dir %{liz_confdir}
+%attr(755,%{liz_user},%{liz_group}) %dir %{liz_datadir}
+%{_mandir}/man5/mfsexports.cfg.5*
+%{_mandir}/man5/mfstopology.cfg.5*
+%{_mandir}/man5/mfsgoals.cfg.5*
+%{_mandir}/man5/mfsmaster.cfg.5*
+%{_mandir}/man5/globaliolimits.cfg.5*
+%{_mandir}/man7/mfs.7*
+%{_mandir}/man7/moosefs.7*
+%{_mandir}/man7/lizardfs.7*
+%{_mandir}/man8/mfsmaster.8*
+%{_mandir}/man8/mfsmetadump.8*
+%{_mandir}/man8/mfsmetarestore.8*
+%{_mandir}/man8/mfsrestoremaster.8*
+%{liz_master_examples}/mfsexports.cfg
+%{liz_master_examples}/mfstopology.cfg
+%{liz_master_examples}/mfsgoals.cfg
+%{liz_master_examples}/mfsmaster.cfg
+%{liz_master_examples}/globaliolimits.cfg
+%attr(644,root,root) %{liz_datadir}/metadata.mfs.empty
+%attr(644,root,root) %{_unitdir}/lizardfs-master.service
+
+%files metalogger
+%define liz_metalogger_examples %{_docdir}/lizardfs-metalogger/examples
+%defattr(644,root,root,755)
+%doc NEWS README.md UPGRADE
+%attr(755,root,root) %{_sbindir}/mfsmetalogger
+%attr(755,%{liz_user},%{liz_group}) %dir %{liz_datadir}
+%{_mandir}/man5/mfsmetalogger.cfg.5*
+%{_mandir}/man8/mfsmetalogger.8*
+%{liz_metalogger_examples}/mfsmetalogger.cfg
+%attr(644,root,root) %{_unitdir}/lizardfs-metalogger.service
+
+%files chunkserver
+%define liz_chunkserver_examples %{_docdir}/lizardfs-chunkserver/examples
+%defattr(644,root,root,755)
+%doc NEWS README.md UPGRADE
+%attr(755,root,root) %{_sbindir}/mfschunkserver
+%dir %{liz_confdir}
+%attr(755,%{liz_user},%{liz_group}) %dir %{liz_confdir}
+%attr(755,%{liz_user},%{liz_group}) %dir %{liz_datadir}
+%{_mandir}/man5/mfschunkserver.cfg.5*
+%{_mandir}/man5/mfshdd.cfg.5*
+%{_mandir}/man8/mfschunkserver.8*
+%{liz_chunkserver_examples}/mfschunkserver.cfg
+%{liz_chunkserver_examples}/mfshdd.cfg
+%attr(644,root,root) %{_unitdir}/lizardfs-chunkserver.service
+
+%files client
+%define liz_client_examples %{_docdir}/lizardfs-client/examples
+%defattr(644,root,root,755)
+%doc NEWS README.md UPGRADE
+%attr(755,root,root) %{_bindir}/lizardfs
+%attr(755,root,root) %{_bindir}/mfsmount
+%attr(755,root,root) %{_bindir}/mfstools.sh
+%{_bindir}/mfsappendchunks
+%{_bindir}/mfscheckfile
+%{_bindir}/mfsdeleattr
+%{_bindir}/mfsdirinfo
+%{_bindir}/mfsfileinfo
+%{_bindir}/mfsfilerepair
+%{_bindir}/mfsgeteattr
+%{_bindir}/mfsgetgoal
+%{_bindir}/mfsgettrashtime
+%{_bindir}/mfsmakesnapshot
+%{_bindir}/mfsrepquota
+%{_bindir}/mfsrgetgoal
+%{_bindir}/mfsrgettrashtime
+%{_bindir}/mfsrsetgoal
+%{_bindir}/mfsrsettrashtime
+%{_bindir}/mfsseteattr
+%{_bindir}/mfssetgoal
+%{_bindir}/mfssetquota
+%{_bindir}/mfssettrashtime
+%{_mandir}/man1/lizardfs-appendchunks.1*
+%{_mandir}/man1/lizardfs-checkfile.1*
+%{_mandir}/man1/lizardfs-deleattr.1*
+%{_mandir}/man1/lizardfs-dirinfo.1*
+%{_mandir}/man1/lizardfs-fileinfo.1*
+%{_mandir}/man1/lizardfs-filerepair.1*
+%{_mandir}/man1/lizardfs-geteattr.1*
+%{_mandir}/man1/lizardfs-getgoal.1*
+%{_mandir}/man1/lizardfs-gettrashtime.1*
+%{_mandir}/man1/lizardfs-makesnapshot.1*
+%{_mandir}/man1/lizardfs-repquota.1*
+%{_mandir}/man1/lizardfs-rgetgoal.1*
+%{_mandir}/man1/lizardfs-rgettrashtime.1*
+%{_mandir}/man1/lizardfs-rsetgoal.1*
+%{_mandir}/man1/lizardfs-rsettrashtime.1*
+%{_mandir}/man1/lizardfs-seteattr.1*
+%{_mandir}/man1/lizardfs-setgoal.1*
+%{_mandir}/man1/lizardfs-setquota.1*
+%{_mandir}/man1/lizardfs-settrashtime.1*
+%{_mandir}/man1/lizardfs-rremove.1*
+%{_mandir}/man1/lizardfs.1*
+%{_mandir}/man5/iolimits.cfg.5*
+%{_mandir}/man7/mfs.7*
+%{_mandir}/man7/moosefs.7*
+%{_mandir}/man1/mfsmount.1*
+%{_mandir}/man5/mfsmount.cfg.5*
+%{liz_client_examples}/iolimits.cfg
+%{liz_client_examples}/mfsmount.cfg
+%{_sysconfdir}/bash_completion.d/lizardfs
+
+%files client3
+%attr(755,root,root) %{_bindir}/mfsmount3
+%{_mandir}/man1/mfsmount3.1*
+
+%files lib-client
+%{_libdir}/liblizardfsmount_shared.so
+%{_libdir}/liblizardfs-client.so
+%{_libdir}/liblizardfs-client-cpp.a
+%{_libdir}/liblizardfs-client-cpp_pic.a
+%{_libdir}/liblizardfs-client.a
+%{_libdir}/liblizardfs-client_pic.a
+%{_includedir}/lizardfs/lizardfs_c_api.h
+%{_includedir}/lizardfs/lizardfs_error_codes.h
+
+
+%files cgi
+%defattr(644,root,root,755)
+%doc NEWS README.md UPGRADE
+%dir %{_datadir}/mfscgi
+%{_datadir}/mfscgi/err.gif
+%{_datadir}/mfscgi/favicon.ico
+%{_datadir}/mfscgi/index.html
+%{_datadir}/mfscgi/logomini.png
+%{_datadir}/mfscgi/mfs.css
+%attr(755,root,root) %{_datadir}/mfscgi/mfs.cgi
+%attr(755,root,root) %{_datadir}/mfscgi/chart.cgi
+
+%files cgiserv
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/lizardfs-cgiserver
+%attr(755,root,root) %{_sbindir}/mfscgiserv
+%{_mandir}/man8/lizardfs-cgiserver.8*
+%{_mandir}/man8/mfscgiserv.8*
+%attr(644,root,root) %{_unitdir}/lizardfs-cgiserv.service
+
+%files adm
+%defattr(644,root,root,755)
+%doc NEWS README.md UPGRADE
+%attr(755,root,root) %{_bindir}/lizardfs-admin
+%{_mandir}/man8/lizardfs-admin.8*
+%{_bindir}/lizardfs-probe
+%{_mandir}/man8/lizardfs-probe.8*
+
+%files uraft
+%define liz_uraft_examples %{_docdir}/lizardfs-uraft/examples
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_sbindir}/lizardfs-uraft
+%attr(755,root,root) %{_sbindir}/lizardfs-uraft-helper
+%doc NEWS README.md UPGRADE
+%{_mandir}/man8/lizardfs-uraft.8*
+%{_mandir}/man8/lizardfs-uraft-helper.8*
+%{_mandir}/man5/lizardfs-uraft.cfg.5*
+%{liz_uraft_examples}/lizardfs-uraft.cfg
+%attr(644,root,root) %{_unitdir}/lizardfs-uraft.service
+%attr(644,root,root) %{_unitdir}/lizardfs-ha-master.service
+
+%changelog
+* Thu Jun 28 2018 Pawel Kalinowski <contact@lizardfs.org> - 3.13.0
+- (all) uRaft HA
+- (all) fixes to EC handling
+- (all) nfs-ganesha plugin changed to use only C code
+- (mount) reduced number of secondary groups retrievals (better performance)
+- (mount) add fuse3 client (better performance, writeback cache)
+- (all) many fixes
+
+* Wed Nov 22 2017 Pawel Kalinowski <contact@lizardfs.org> - 3.12.0
+- (all) C API
+- (all) nfs-ganesha plugin
+- (all) RichACL support (which includes NFSv4)
+- (all) OSX ACL support
+- (master, mount) file lock fixes
+- (mount) client readahead enabled by default
+- (mount) AVX2 extensions support for erasure code goals
+- (chunkserver) more flexible options
+- (all) many fixes
+
+* Tue May 9 2017 Piotr Sarna <contact@lizardfs.org> - 3.11.0
+- (master) improve ACL implementation
+- (master) add option to avoid same-ip chunkserver replication
+- (master) add minimal goal configuration option
+- (master) reimplement directory entry cache for faster lookups
+- (master) add whole-path lookups
+- (master, chunkserver) add chunkserver load awareness
+- (mount) add readahead to improve sequential read perfromance
+- (mount) add secondary groups support
+- (tools) add correct-only flag to filerepair
+- (tools) add -s and -i options to snapshot command
+- (tools) add recursive remove operations (for removing large directories and snapshots)
+- (tools) add tool for stopping execution of tasks (snapshot, recursive remove, etc.)
+- (all) change to semantic versioning system
+- (all) many fixes
+
+* Fri Oct 7 2016 Piotr Sarna <contact@lizardfs.org> - 3.10.4
+- (master) task manager performance improvements
+- (master) trash fixes
+
+* Tue Aug 30 2016 Piotr Sarna <contact@lizardfs.org> - 3.10.2
+- (master) redesign in-memory representation of file system objects - at least 30% reduction in RAM usage
+- (master) name storage - a possibility to keep all file names in BerkeleyDB, thus saving even more RAM
+- (master) redesign of trash - increased performance, reduced RAM usage and CPU pressure
+- (master) huge boost of responsiveness - lengthy operations split into asynchronous bits
+- (master) OPERATIONS_DELAY* config entries, which allow postponing metadata operations on restart/disconnect
+- (master) fix improper handling of endangered chunks
+- (chunkserver) memory optimizations - at least 60% reduction in RAM usage
+- (chunkserver) introduce smart descriptor management
+- (tools) brand new `lizardfs` command, a unified replacement for mfs* tools with prompt and bash completion
+- (all) various fixes and community requests
+
+* Mon Mar 14 2016 Piotr Sarna <contact@lizardfs.org> - 3.10.0
+- (all) Added erasure code goals
+- (all) Added per directory quotas
+- (all) Improved interaction with legacy version (chunkservers, mounts)
+- (all) Ports for OSX and FreeBSD
+- (all) Many fixes
+
+* Wed Dec 2 2015 Piotr Sarna <contact@lizardfs.org> - 3.9.4
+- (master) Removed master server overload on restarting chunkservers
+- (master) Improved global file locks engine
+- (chunkserver) Fixed leaking descriptors problem
+- (chunkserver) Improved mechanism of moving chunks to new directory layout
+- (chunkserver) Fixed issues related to scanning directories with new chunk format present
+- (mount) Removed hang in mount when chunkserver reported no valid copies of a file
+- (master) Changed handling of legacy (pre-3.9.2) chunkservers in new installations
+- (cgi) Added XOR replication to statistics
+- (all) Removed default linking to tcmalloc library due to performance drop
+
+* Fri Oct 23 2015 Piotr Sarna <contact@lizardfs.org> - 3.9.2
+- (all) Introduced XOR goal types
+- (all) Added file locks (flock & fcntl)
+- (all) Increased max number of files from 500 million to over 4 billion
+- (all) Introduced managing open file limits by PAM
+- (master) Improved consistency of applying changelogs by shadow masters
+- (master) Redesigned snapshot execution in master
+- (master) Redesigned chunk loop logic
+- (master) Added option to limit chunk loop's CPU usage
+- (master) Removed hard coded connection limit
+- (chunkserver) Added new network threads responsible for handling requests
+ sent by chunkserver's clients
+- (chunkserver) Introduced new more efficient directory layout
+- (chunkserver) Added option to choose if fsync should be performed after each write
+ for increased safety
+- (chunkserver) Removed hard coded connection limit
+- (chunkserver) Added replication network bandwidth limiting
+- (mount) Improved symlink cache and added configurable timeout value
+- (all) Minor bug fixes and improvements
+
+* Mon Feb 09 2015 Adam Ochmanski <contact@lizardfs.org> - 2.6.0
+- (all) Added comments in all config files
+- (all) Improve messages printed by daemons when starting
+- (cgi) A new chunkserver's chart: number of chunk tests
+- (cgi) Fixed paths to static content
+- (cgi) New implementation of the CGI server; mfscgiserv is now deprecated.
+- (cgi) New table: 'Metadata Servers' in the 'Servers' tab
+- (chunkserver) Allowed starts with damaged disks
+- (chunkserver) A new option: HDD_ADVISE_NO_CACHE
+- (chunkserver) Improved handling of disk read errors
+- (chunkserver) Removed 'testing chunk: xxxxxx' log messages
+- (master) A new feature: disabling atime updates (globally)
+- (master) Fixed rotating changelogs and downloading files in shadow mode
+- (probe) New commands
+- (probe) Renamed to lizardfs-admin
+- (all) Minor bug fixes and improvements
+
+* Fri Nov 07 2014 Alek Lewandowski <contact@lizardfs.org> - 2.5.4
+- (all) Boost is no longer required to build the source code of LizardFS
+ or use the binary version
+- (all) Added tiering (aka 'custom goal') feature, which allows
+ users to label chunkservers and to request chunks to be stored
+ on specific groups of servers
+- (cgi) "Exports" tabs renamed to "Config", now it also shows goal
+ definitions
+- (cgi) Added new tab "Chunks"
+- (probe) New command "chunks-health" makes it possible to get number of
+ missing or endangered chunks
+- (master) Fixed reporting memory usage in CGI
+- (mount) Fixed caching contents of open directories
+- (mount) Add a .lizardfs_tweaks file
+- (all) Other minor fixes and improvements
+
+* Mon Sep 15 2014 Alek Lewandowski <contact@lizardfs.org> - 2.5.2
+- (master, shadow) Metadata checksum mechanism, allowing to
+ find and fix possible metadata inconsistencies between master
+ and shadow
+- (mount, master) ACL cache in mount, reducing the load of
+ the master server
+- (packaging) Support packaging for RedHat based systems
+- (master) Improved chunkserver deregistration mechanism in
+ order to avoid temporary master unresponsiveness
+- (polonaise) Add filesystem API for developers allowing to
+ use the filesystem without FUSE (and thus working also on
+ Windows)
+- (all) Minor fixes and improvements
+
+* Tue Jul 15 2014 Marcin Sulikowski <sulik@lizardfs.org> - 2.5.0
+- (master) High availability provided by shadow master servers
+- (mount, chunkserver) CRC algorithm replaced with a 3 times faster
+ implementation
+- (mount, master) Support for quotas (for users and groups)
+- (mount, master) Support for posix access contol lists (requires
+ additional OS support)
+- (mount, master) Support for global I/O limiting (bandwidth limiting)
+- (mount) Support for per-mountpoint I/O limiting (bandwidth limiting)
+- (adm) New package lizardfs-adm with a lizardfs-probe command-line
+ tool which can be used to query the installation for variuos
+ parameteres
+- (master) New mechanism of storing metadata backup files which
+ improves performance of the hourly metadata dumps
+- (all) A comprehensive test suite added
+- (all) Multiple bugfixes
+
+
+* Wed Oct 16 2013 Peter aNeutrino <contact@lizardfs.org> - 1.6.28-1
+- (all) compile with g++ by default
+- (deb) fix init scripts for debian packages
+- (all) fix build on Mac OS X
+- (cgi) introducing LizardFS logo
+
+* Thu Feb 16 2012 Jakub Bogusz <contact@moosefs.com> - 1.6.27-1
+- adjusted to keep configuration files in /etc/mfs
+- require just mfsexports.cfg (master) and mfshdd.cfg (chunkserver) in RH-like
+ init scripts; for other files defaults are just fine to run services
+- moved mfscgiserv to -cgiserv subpackage (-cgi alone can be used with any
+ external CGI-capable HTTP server), added mfscgiserv init script
+
+* Fri Nov 19 2010 Jakub Bogusz <contact@moosefs.com> - 1.6.19-1
+- separated mfs-metalogger subpackage (following Debian packaging)
+
+* Fri Oct 8 2010 Jakub Bogusz <contact@moosefs.com> - 1.6.17-1
+- added init scripts based on work of Steve Huff (Dag Apt Repository)
+ (included in RPMs when building with --define "distro rh")
+
+* Mon Jul 19 2010 Jakub Kruszona-Zawadzki <contact@moosefs.com> - 1.6.16-1
+- added mfscgiserv man page
+
+* Fri Jun 11 2010 Jakub Bogusz <contact@moosefs.com> - 1.6.15-1
+- initial spec file, based on Debian packaging;
+ partially inspired by spec file by Kirby Zhou
diff --git a/sources b/sources
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sources