pure-ftpd rpmbuild rpm file

简介:
 
  1. Name:           pure-ftpd 
  2. Version:        1.0.36 
  3. Release:        1%{?dist} 
  4. Summary:        Pure-FTPd 
  5.  
  6. Group:          System Environment/Daemons 
  7. License:        BSD 
  8. URL:            http://www.pureftpd.org 
  9. Source0:        ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.bz2 
  10. Source1:        http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz 
  11. BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) 
  12. Vendor:         itnihao@qq.com 
  13.  
  14. BuildRequires: gcc 
  15. Requires:      shadow-utils 
  16.  
  17. %description 
  18. Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use. It provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers. 
  19.  
  20.  
  21. %prep 
  22. %setup -q 
  23.  
  24.  
  25. %build 
  26. ./configure --prefix=/usr/local/pureftpd \ 
  27. --with-mysql \ 
  28. --with-pam \ 
  29. --with-shadow \ 
  30. --with-welcomemsg \ 
  31. --with-uploadscript \ 
  32. --with-cookie \ 
  33. --with-virtualchroot \ 
  34. --with-virtualhosts \ 
  35. --with-diraliases \ 
  36. --with-quotas \ 
  37. --with-puredb \ 
  38. --with-sysquotas \ 
  39. --with-ratios \ 
  40. --with-ftpwho \ 
  41. --with-throttling \ 
  42. --with-language=simplified-chinese  
  43. make %{?_smp_mflags} 
  44.  
  45. %install 
  46. rm -rf %{buildroot} 
  47. make install DESTDIR=%{buildroot} 
  48. %{__install} -d %{buildroot}%{_sysconfdir}/pureftpd 
  49. %{__install} -d %{_datadir} 
  50. %{__install} -d %{buildroot}%{_initrddir} 
  51. #%{__install} -d %{buildroot}%{_sbindir} 
  52. %{__install} -d %{buildroot}%{_mandir}/man8/ 
  53. %{__install} -m 755 configuration-file/pure-config.pl %{buildroot}/usr/local/pureftpd/sbin/pure-config.pl 
  54. %{__install} -m 755 configuration-file/pure-ftpd.conf %{buildroot}%{_sysconfdir}/default.pure-ftpd.conf 
  55. %{__install} -m 755 configuration-file/pure-ftpd.conf %{buildroot}%{_sysconfdir}/pure-ftpd.conf 
  56. %{__install} -m 755 pureftpd-mysql.conf %{buildroot}%{_sysconfdir}/default.pureftpd-mysql.conf 
  57. cat >> %{buildroot}%{_sysconfdir}/pureftpd/pureftpd-mysql.conf << EOF 
  58. MYSQLSocket     /var/lib/mysql/mysql.sock 
  59. MYSQLServer     127.0.0.1 
  60. MYSQLPort       3306 
  61. MYSQLUser       pureftpuser 
  62. MYSQLPassword   pureftpuser 
  63. MYSQLDatabase   pureftp 
  64. MYSQLCrypt      md5 
  65. MYSQLGetPW      SELECT Password FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  66. MYSQLGetUID     SELECT Uid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  67. MYSQLGetGID     SELECT Gid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  68. MYSQLGetDir     SELECT Dir FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  69. MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  70. MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R") 
  71. EOF 
  72.  
  73. %{__install} -m 755 contrib/redhat.init %{buildroot}%{_initrddir}/pureftpd 
  74. sed -i\ 
  75.     -e  "s|usr/local|usr/local/pureftpd|g" \ 
  76.     -e  "s|etc/pure-ftpd.conf|etc/pureftpd/pure-ftpd.conf|g" \ 
  77. %{buildroot}%{_initrddir}/pureftpd 
  78. sed -i \ 
  79.     -e "s|NoAnonymous                 no|NoAnonymous                 yes|g" \ 
  80.     -e "s|# MySQLConfigFile               /etc/pureftpd-mysql.conf|MySQLConfigFile               /etc/pureftpd/pureftpd-mysql.conf|g" \ 
  81.     -e "s|# Bind                      127.0.0.1,21| Bind                      127.0.0.1,21|g" \ 
  82.     -e "s|AllowUserFXP                no|AllowUserFXP                yes|g" \ 
  83.     -e "s|AnonymousCantUpload         no|AnonymousCantUpload         yes|g" \ 
  84.     -e "s|#CreateHomeDir               yes|CreateHomeDir               yes|g" \ 
  85.     %{buildroot}%{_sysconfdir}/pure-ftpd.conf 
  86.  
  87.  
  88. #cp conf/pureftpd-mysql.conf %{buildroot}%{_sysconfdir}/pureftpd 
  89. #cp conf/pure-ftpd.conf %{buildroot}%{_sysconfdir}/pureftpd 
  90. install -m 0644 -p man/pure-authd.8          $RPM_BUILD_ROOT%{_mandir}/man8/pure-authd.8 
  91. install -m 0644 -p man/pure-ftpd.8           $RPM_BUILD_ROOT%{_mandir}/man8/pure-ftpd.8 
  92. install -m 0644 -p man/pure-ftpwho.8         $RPM_BUILD_ROOT%{_mandir}/man8/pure-ftpwho.8 
  93. install -m 0644 -p man/pure-mrtginfo.8       $RPM_BUILD_ROOT%{_mandir}/man8/pure-mrtginfo.8 
  94. install -m 0644 -p man/pure-pw.8             $RPM_BUILD_ROOT%{_mandir}/man8/pure-pw.8 
  95. install -m 0644 -p man/pure-pwconvert.8      $RPM_BUILD_ROOT%{_mandir}/man8/pure-pwconvert.8 
  96. install -m 0644 -p man/pure-quotacheck.8     $RPM_BUILD_ROOT%{_mandir}/man8/pure-quotacheck.8 
  97. install -m 0644 -p man/pure-statsdecode.8    $RPM_BUILD_ROOT%{_mandir}/man8/pure-statsdecode.8 
  98. install -m 0644 -p man/pure-uploadscript.8   $RPM_BUILD_ROOT%{_mandir}/man8/pure-uploadscript.8 
  99.  
  100. %{__tar} xf %{SOURCE1} -C $RPM_BUILD_ROOT/%{_datadir} 
  101. %clean 
  102. rm -rf %{buildroot} 
  103.  
  104.  
  105. %files 
  106. %defattr(-,root,root,-) 
  107. %doc 
  108. /usr/local/pureftpd/bin/pure-pw 
  109. /usr/local/pureftpd/bin/pure-pwconvert 
  110. /usr/local/pureftpd/bin/pure-statsdecode 
  111.  
  112. /usr/local/pureftpd/sbin/pure-authd 
  113. /usr/local/pureftpd/sbin/pure-config.pl 
  114. /usr/local/pureftpd/sbin/pure-ftpd 
  115. /usr/local/pureftpd/sbin/pure-ftpwho 
  116. /usr/local/pureftpd/sbin/pure-mrtginfo 
  117. /usr/local/pureftpd/sbin/pure-quotacheck 
  118. /usr/local/pureftpd/sbin/pure-uploadscript 
  119. %{_initrddir}/pureftpd 
  120. %{_sysconfdir}/pureftpd/* 
  121. %{_mandir}/man8/pure* 
  122. %{_datadir}/ftp 
  123. %post 
  124. getent group pureftpuser >/dev/null || groupadd -r  pureftpuser 
  125. getent passwd pureftpuser >/dev/null || useradd -r -g pureftpuser -s   /sbin/nologin  -c "pureftp user" pureftpuser 
  126. sed -i \ 
  127.     -e "s|DBLogin = "ftp";|DBLogin = "pureftpuser";|g"  \ 
  128.     -e "s|DBPassword = "tmppasswd";|DBPassword = "pureftpuser";|g"   \ 
  129.     -e "s|FTPAddress = "myipaddress.com:21";|FTPAddress = "127.0.0.1:21";|g" \ 
  130.     -e "s|DBDatabase = "ftpusers"|DBDatabase = "pureftp"|g" \ 
  131.     -e "s|DEFUserID = "65534"|DEFUserID = "$ftpuid"|g" \ 
  132.     -e "s|DEFGroupID = "31"|DEFGroupID = "$ftpgid"|g" /usr/share/ftp/config.php 
  133. /sbin/chkconfig pureftpd on 
  134. cat <<EOF 
  135. create pureftp database like this: 
  136. ==================================================================================== 
  137. mysql>create database pureftp; 
  138. mysql>grant all on pureftp.* to pureftpuser@'127.0.0.1' identified by 'pureftpuser'; 
  139. mysql>grant privileges; 
  140. ==================================================================================== 
  141. if you want to use pdb to store password : 
  142. you should change /etc/pureftpd/pure-ftpd.conf 
  143. sed -i  "s|MySQLConfigFile               /etc/pureftpd-mysql.conf|# MySQLConfigFile               /etc/pureftpd/pureftpd-mysql.conf|g"  /etc/pureftpd/pure-ftpd.conf 
  144. sed -i  "s|# PureDB                        /etc/pureftpd.pdb|PureDB                        /etc/pureftpd/pureftpd.pdb|g" /etc/pureftpd/pure-ftpd.conf 
  145. #adduser 
  146. /usr/local/pureftpd/bin/pure-pw useradd virtualftp -f /usr/local/pureftpd/etc/pureftpd.passwd -u 500 -g 500 -d /ftproot 
  147. #make it into effect 
  148. /usr/local/pureftpd/bin/pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb -f /usr/local/pureftpd/etc/pureftpd.passwd 
  149. #modify user password 
  150. /usr/local/pureftpd/bin/pure-pw passwd virtualftp -f /usr/local/pureftpd/etc/pureftpd.passwd -m 
  151. EOF 
  152. %changelog 

 


本文转自it你好 51CTO博客,原文链接:http://blog.51cto.com/itnihao/1148570,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
存储 算法 安全
【Freertos基础入门】队列(queue)的使用
【Freertos基础入门】队列(queue)的使用
1286 0
|
5天前
|
机器学习/深度学习 运维 Cloud Native
别再拍脑袋扩容了:用 ML 做容量预测,才是云成本和性能的最优解
别再拍脑袋扩容了:用 ML 做容量预测,才是云成本和性能的最优解
79 17
|
2月前
|
人工智能 文字识别 API
医疗票据OCR技术演进:从模板匹配到智能理解的突破
医疗票据OCR正从传统模板匹配迈向智能理解新阶段。快瞳科技融合OCR与医疗知识图谱,实现高精度、自适应识别,显著提升效率与准确性,推动医疗数字化智能化升级。
|
6月前
|
数据可视化 数据挖掘
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
ingest和BBKNN进行单细胞整合(1)
|
前端开发 Unix Linux
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
本文详细介绍了 `electron-builder` 在 Linux 平台上如何打包 Electron 应用程序,涵盖了 AppImage、Flatpak、Snap 等多种格式的打包原理和具体实现。文章从初始化 `LinuxPackager` 到创建各种目标格式的包,详细解析了每个步骤的代码逻辑和关键方法,帮助开发者更好地理解和使用 `electron-builder` 进行 Linux 应用的打包。
819 2
揭秘 Electron 的 Linux 打包过程:你知道背后发生了什么吗?
|
数据采集
豆瓣图书TOP250爬取
豆瓣图书TOP250爬取
378 0
|
JavaScript Java 云计算
后端开发的演变与未来趋势
在数字化时代的浪潮中,后端开发扮演着至关重要的角色。本文将探讨后端技术的历史演变、当前主流技术和框架、以及面临的挑战和未来的发展趋势。通过深入浅出的方式,为读者揭示后端开发的奥秘,并启发对未来技术的思考。
|
存储 安全 算法
服务器数据恢复—Raid磁盘阵列的安全性分析及常见故障
出于尽可能避免数据灾难的设计初衷,RAID解决了3个问题:容量问题、IO性能问题、存储安全(冗余)问题。从数据恢复的角度讨论RAID的存储安全问题。 常见的起到存储安全作用的RAID方案有RAID1、RAID5及其变形。基本设计思路是相似的:当部分数据异常时,可通过特定算法将数据还原出来。以RAID5为例:如果要记录两个数字,可以通过再多记录这两个数字的和来达到记录冗余性的目的。例如记录3和5,同时再记录这2个数字的和8。在不记得到底是几和5的情况下,只需要用8-5就可以算出这个丢失的数字了,其余情况依此类推。
|
机器学习/深度学习 索引 Python
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
|
机器学习/深度学习 Apache 计算机视觉
OpenCV的版本
OpenCV的版本。
285 0