.Net Core를 사용하여 크로스 플랫폼 UI를 개발하고 RPM 패키지 관리자를 사용하여 패키징하고 있습니다. 로컬에 설치할 RPM 파일을 만들었습니다. 내 사양 파일의 %install 섹션은 다음과 같습니다.
%install
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_bindir}/%{name}
mkdir -p %{buildroot}/%{_datadir}/applications
install -m 0755 %{name} %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.dll %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.json %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.so %{buildroot}/%{_bindir}/%{name}
install -m 0755 %{name}.png %{buildroot}/%{_bindir}/%{name}
cat > %{buildroot}/%{_datadir}/applications/%{name}.desktop <<'EOF'
[Desktop Entry]
Name=Hello_World
Exec=%{_bindir}/%{name}/%{name}
Icon=%{_bindir}/%{name}/%{name}.png
Type=Application
Terminal=false
EOF
프로젝트에는 Linux 실행 파일, 종속 파일 및 .png 아이콘이 포함되어 있습니다. 설치 단계에서 패키지가 설치될 때 실행 파일이 애플리케이션에 존재할 수 있도록 .desktop 파일을 생성하고 /usr/share/applications에 배치했습니다.
패키지가 설치될 때 응용 프로그램에서 바탕 화면 바로 가기를 생성하여 사용자가 직접 만들 필요가 없도록 하는 방법을 알고 싶습니다. 설치 후 이 작업을 수동으로 수행하려면 Nautilus를 사용하여 /usr/share/applications 폴더에 액세스하고 응용 프로그램을 데스크탑에 복사해야 한다는 것을 알고 있지만 이 작업이 자동으로 수행되기를 바랍니다.
설치 후 섹션에서 복사 명령을 사용해 보았지만 패키지가 설치된 사용자의 데스크탑에 복사하는 방법을 모르겠습니다. 이 작업을 수행하기 위해 생성한 .desktop 파일이나 사양 파일에 추가할 수 있는 명령이 있습니까?
답변1
%post
rpm 빌드 섹션 보다는 설치가 완료된 후 링크를 생성하는 것이 좋습니다 .
https://docs.fedoraproject.org/ro/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html
아래 링크가 있습니다
ln [OPTION]... [-T] TARGET LINK_NAME