移植 logrotate

2024-06-14 05:18
文章标签 移植 logrotate

本文主要是介绍移植 logrotate,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

下载需要用到的源码:

ftp://ftp.tw.freebsd.org/distfiles/popt-1.7.tar.gz

https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.8.7.tar.gz


logrotate 编译是需要包含 popt.h 头文件,以及 popt 生成的库文件。先交叉编译 popt 。 并将头文件以及库文件安装到 交叉工具链下

tar xvf popt-1.7.tar.gz 
cd popt-1.7/
./configure --prefix=$PWD/tmp --host=i486-openwrt-linux --build=i686-linux
make
make install
cp include/popt.h /opt/openwrt-i386-glibc-gcc/include/
cp lib/libpopt.* /opt/openwrt-i386-glibc-gcc/lib/

logrotate 源码包并没有 configure 文件可以生成 Makefile 。所以只有直接修改源码包自带的 Makefile 。修改前备份原有的 Makefile

tar xvf logrotate-3.8.7.tar.gz
cd logrotate-3.8.7/
cp Makefile Makefile.bak

修改后的 Makefile 如下:

VERSION = $(shell awk '/Version:/ { print $$2 }' logrotate.spec)
OS_NAME = $(shell uname -s)
LFS = $(shell echo `getconf LFS_CFLAGS 2>/dev/null`)
CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
PROG = logrotate
MAN = logrotate.8
MAN5 = logrotate.conf.5
LOADLIBES = -lpopt
SVNURL= svn+ssh://svn.fedorahosted.org/svn/logrotate
SVNPUBURL = http://svn.fedorahosted.org/svn/logrotate
SVNTAG = r$(subst .,-,$(VERSION))ifeq ($(WITH_SELINUX),yes)
CFLAGS += -DWITH_SELINUX
LOADLIBES += -lselinux
# See pretest
TEST_SELINUX=1
else
# See pretest
TEST_SELINUX=0
endififeq ($(WITH_ACL),yes)
CFLAGS += -DWITH_ACL
LOADLIBES += -lacl
# See pretest
TEST_ACL=1
else
# See pretest
TEST_ACL=0
endif# openwrt-i386-glibc GCCCFLAGS = -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)CC = i486-openwrt-linux-gccCPP = $(CC) -E -MINSTALL = /usr/bin/installifeq ($(CC),cc)CPP = i486-openwrt-linux-gcc -xMendifBASEDIR = tmp/usr/localifneq ($(POPT_DIR),)CFLAGS += -I$(POPT_DIR)LOADLIBES += -L$(POPT_DIR)
endififneq ($(STATEFILE),)CFLAGS += -DSTATEFILE=\"$(STATEFILE)\"
endifBINDIR = $(BASEDIR)/sbin
MANDIR ?= $(BASEDIR)/man#--------------------------------------------------------------------------OBJS = logrotate.o log.o config.o basenames.o
SOURCES = $(subst .o,.c,$(OBJS) $(LIBOBJS))ifeq ($(RPM_OPT_FLAGS),)
CFLAGS += -g
LDFLAGS = -g
endifLDFLAGS += $(EXTRA_LDFLAGS) $(EXTRA_LIBS)
CFLAGS  += $(EXTRA_CPPFLAGS) $(EXTRA_CFLAGS) ifeq (.depend,$(wildcard .depend))
TARGET=$(PROG)
else
TARGET=depend $(PROG)
endifRCSVERSION = $(subst .,-,$(VERSION))all: $(TARGET) pretest$(PROG): $(OBJS)clean:rm -f $(OBJS) $(PROG) core* .dependrm -f ./test/test.ACL ./test/test.SELINUX ./test/error.logdepend:$(CPP) $(CFLAGS) -M $(SOURCES) > .depend# pretest create the file ./test/test.ACL with
# 0 or 1 according to the WITH_ACL=yes presence.
# The file will be used by ./test/test to decide
# if to do the ACL tests or not.
pretest:echo "$(TEST_ACL)" > ./test/test.ACL ;echo "$(TEST_SELINUX)" > ./test/test.SELINUX ;.PHONY : test
test: $(TARGET)(cd test; ./test)install:[ -d $(PREFIX)$(BINDIR) ] || mkdir -p $(PREFIX)$(BINDIR)[ -d $(PREFIX)$(MANDIR) ] || mkdir -p $(PREFIX)$(MANDIR)[ -d $(PREFIX)$(MANDIR)/man8 ] || mkdir -p $(PREFIX)$(MANDIR)/man8[ -d $(PREFIX)$(MANDIR)/man5 ] || mkdir -p $(PREFIX)$(MANDIR)/man5$(INSTALL) -m 755 $(PROG) $(PREFIX)$(BINDIR); \$(INSTALL) -m 644 $(MAN) $(PREFIX)$(MANDIR)/man`echo $(MAN) | sed "s/.*\.//"`/$(MAN); \$(INSTALL) -m 644 $(MAN5) $(PREFIX)$(MANDIR)/man`echo $(MAN5) | sed "s/.*\.//"`/$(MAN5); \co:co RCS/*,v(cd examples; co RCS/*,v)svntag:svn copy $(SVNURL)/trunk $(SVNURL)/tags/$(SVNTAG) -m "Release $(VERSION)"create-archive:@rm -rf /tmp/logrotate-$(VERSION) /tmp/logrotate@cd /tmp; svn export $(SVNPUBURL)/tags/$(SVNTAG) logrotate-$(VERSION)@cd /tmp/logrotate-$(VERSION)@cd /tmp; tar czSpf logrotate-$(VERSION).tar.gz logrotate-$(VERSION)@rm -rf /tmp/logrotate-$(VERSION)@cp /tmp/logrotate-$(VERSION).tar.gz .@rm -f /tmp/logrotate-$(VERSION).tar.gz@echo " "@echo "The final archive is ./logrotate-$(VERSION).tar.gz."archive: clean svntag create-archiveifeq (.depend,$(wildcard .depend))
include .depend
endif




这篇关于移植 logrotate的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059481

相关文章

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

RT-Thread(Nano版本)的快速移植(基于NUCLEO-F446RE)

目录 概述 1 RT-Thread 1.1 RT-Thread的版本  1.2 认识Nano版本 2 STM32F446U上移植RT-Thread  2.1 STM32Cube创建工程 2.2 移植RT-Thread 2.2.1 安装RT-Thread Packet  2.2.2 加载RT-Thread 2.2.3 匹配相关接口 2.2.3.1 初次编译代码  2.2.3.

libmad音频解码库-Linux交叉编译移植

下载并解压libmad-0.15.1b.tar.gz 下载链接:https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz $tar -xvf libmad-0.15.1b.tar.gz$cd libmad-0.15.1b 1、先执行下面的命令:这条命令是为了适配高版本的gcc,因为高版本的gcc已经将-fforce-mem去除了:

arm linux lua移植

lua: lua home 1.下载lua源码 lua下载 lua-5.3.4.tar.gz 2.解压: tar xvf lua-5.3.4.tar.gz 3.修改makefile and luaconf.h $修改 lua-5.3.4/Makefile #INSTALL_TOP= /usr/local INSTALL_TOP= $(shell pwd)/out #修改安装目录(当前目录/o

s3c2440---PWM使用之蜂鸣器驱动移植

一、蜂鸣器驱动介绍 1.1.什么是蜂鸣器               蜂鸣器是一种简单的声响发生器,常用于电子产品中作为警示或提醒作用。其基本原理是通过交替改变直流电的电压方向来产生声音,一般使用交替电流产生声音会比较稳定。 1.2.蜂鸣器的类别 1.有源蜂鸣器 1)结构原理 有源蜂鸣器内部自带振荡源,只需接通电源即可发声。内部电路会自动产生一定频率的振荡信号,从而驱动蜂鸣器发声。

【GD32】---- 移植工程模板及点灯测试

1 新建模板文件夹 新建一个名叫03_GD32TemplateProject的文件夹,用于建造工程模板 2 移植官方库文件 在模板文件夹里新建5个文件夹,分别存放官方库文件和系统驱动文件 01_main 存放main函数 02_Startup 存放系统启动文件 03_System 存放官方的系统文件 04_Firmware_PeripheralDriver 存放官方

[rk3588 ubuntu20.04]移植ROS2

目录 1 使用命令行安装ROS2 1.1设置语言 1.2添加源 1.3安装ROS2 1.4设置环境变量 2 在编译源码阶段安装ROS2 2.1调整roofts.img大小 2.2 安装ROS2 3 ROS2功能测试 1 使用命令行安装ROS2 1.1设置语言         设置语言为UTF-8。 sudo apt update && sudo apt insta

让linux下无线网卡变身随身wifi----hostapd移植-Nazgul

有了前面的检测,确定了我们的网卡是能够拥有热点共享功能的,但是如何让它共享出来呢? 于是有了这篇文章的诞生,hostapd移植 hostapd    可以让我们的网线网卡变成热点 1、下载     git clone git://w1.fi/srv/git/hostap.git   得到hostap目录,但是里面wpa_supplicant and hostapd的结合在

让linux下无线网卡变身随身wifi----前言--iw移植-Nazgul

最痛苦的事莫过于--上班 最最痛苦的事莫过于--上班有网不能上 最最最痛苦的事莫过于--上班有网能上却没有wifi 最最最最痛苦的事莫过于--你有无线网卡却没有U口可插 最最最最最痛苦的事莫过于--有U口插却发现U口只在开发板上 最最最最最最痛苦的事莫过于--开发板上有u口但是跑的是linux 最最最最最最最痛苦的事莫过于--linux能驱动网卡,但是如何共享出wifi来啊 于是,,,

游戏图片移植问题!DDS转PVR

折腾了两天,PS转PNG脚本无法批处理执行,Texturepacker PNG转PVR保存文件无效果。 最后还是用了神器PVRTexTool+BAT解决 首先下载:http://ishare.iask.sina.com.cn/f/18008068.html?from=like 配置好环境变量,右键点击我的电脑>属性>高级>环境变量,双击Path变量在最后的位置添加字段:F:\PVRTexTo