首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Busybox rpm脚本

Busybox rpm脚本
EN

Stack Overflow用户
提问于 2012-07-03 12:27:12
回答 1查看 747关注 0票数 0

我是包装与嵌入式设备与busybox,而不是普通GNU系统的rpm。当我使用busybox安装时,它会安装模块,但甚至不会尝试运行脚本。在常规系统上,它运行它们并失败(ofc,内核的另一个版本)。

问:我哪里错了,以及如何解决它?这是我的规范文件:

代码语言:javascript
复制
# The kernel version you are building for  
%define kernel 3.4.0-rc6-01292-g9b8149d  

# The name of the module you are supplying  
%define modname ktgrabber  
# The path to the module, after it is installed  
%define modpath /lib/modules/%{kernel}/kernel/net/ipv4  

# Which revision are we on  
%define pkgrelease 1.SL  

# Is this a new module, or are we replacing an existing module  
# 1 - new module  
# 0 - replacing an existing module  
%define newmodule 1  

# Optional - what Architecture we are building for  
#%define thisarch ia32e  

Name: kernel-module-%{modname}-%{kernel}  
Summary: Kernel Module %{modname}  for the %{kernel} kernel  
Version: 0.99  
Release: 1  
Epoch: 0  
License: GPLv2+  
Packager: Troy Dawson <dawson@fnal.gov>  
Group: System Environment/Kernel  
BuildRoot: %{_tmppath}/%{name}-%{version}-root  
#Requires: /boot/vmlinux-%{kernel}, modutils  
Provides: kernel-module-%{modname} = %{epoch}:%{version}  
Source0: %{modname}.ko.%{kernel}  

%description  
This package provides a %{modname} kernel module for  
kernel %{kernel}.  

%install  
mkdir -p $RPM_BUILD_ROOT/%{modpath}  

%if %{newmodule}  
    install -m 644 %{SOURCE0} $RPM_BUILD_ROOT/%{modpath}/%{modname}.ko  
%else  
    install -m 644 %{SOURCE0} $RPM_BUILD_ROOT/%{modpath}/%{modname}.%{version}.%{pkgrelease}.o  

%endif  
%pre  
touch /root/bar  
mkdir /alice  
%post  
touch /bar  
/bin/echo %{modname} >> /etc/modules  
depmod  
mkdir /foo  
depmod -ae %{kernel} >/dev/null 2>&1   
modprobe %{modname}  

%postun  
sed -i 's/^%{modname}$//g' /etc/modules  
%if %{newmodule}  
    depmod -ae %{kernel} >/dev/null 2>&1 || :  
%else  
    if [ "" = "0" ] ; then  
        if ! [ -f %{modpath}/%{modname}.original.o ] ; then  
            mv %{modpath}/%{modname}.o %{modpath}/%{modname}.original.o  
        fi  
        cp -f %{modpath}/%{modname}.%{version}.%{pkgrelease}.o %{modpath}/%{modname}.o  
        depmod -ae %{kernel} >/dev/null 2>&1 || :  
    fi  
%endif  


%files  
%if %{newmodule}  
    %{modpath}/%{modname}.ko  
%else  
    %{modpath}/%{modname}.%{version}.%{pkgrelease}.ko  
%endif  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-04 01:39:40

查看此链接:http://lists.busybox.net/pipermail/busybox/2006-November/059507.html scriptlet不是由busybox的rpm命令运行的。

看看http://git.busybox.net/busybox/tree/archival/rpm.c#n149上的源代码,这似乎是真的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11304457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档