build dosyası düzenleme 10
Some checks failed
MusicPlayer Fedora RPM Build / fedora-compilation (push) Failing after 4m48s
Some checks failed
MusicPlayer Fedora RPM Build / fedora-compilation (push) Failing after 4m48s
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
name: MusicPlayer Fedora RPM Build
|
name: MusicPlayer Fedora RPM Build
|
||||||
run-name: ${{ gitea.actor }} tarafından Fedora RPM derleniyor 🚀
|
run-name: ${{ gitea.actor }} tarafından Tam Paket Fedora RPM derleniyor 🚀
|
||||||
|
|
||||||
on: [push]
|
on: [push]
|
||||||
|
|
||||||
@@ -41,58 +41,65 @@ jobs:
|
|||||||
make -j$(nproc)
|
make -j$(nproc)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: RPM Paketi Oluştur
|
- name: RPM Paketi Oluştur (Full Plugin Support)
|
||||||
run: |
|
run: |
|
||||||
# 1. RPM ağacını oluştur
|
|
||||||
rpmdev-setuptree
|
rpmdev-setuptree
|
||||||
|
|
||||||
# 2. Dosyaları RPM'in varsayılan BUILDROOT klasörüne MANUEL yerleştiriyoruz
|
# 1. Tüm dosyaları (binary, plugins, man pages, rc) geçici bir dizine kuruyoruz
|
||||||
# Bu sayede SPEC içindeki %install adımına gerek kalmayacak
|
# Bu adım /usr/lib/cmus ve /usr/share/cmus klasörlerini otomatik oluşturur.
|
||||||
mkdir -p ~/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64/usr/bin
|
mkdir -p ~/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64
|
||||||
cp cmus cmus-remote ~/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64/usr/bin/
|
make install DESTDIR=~/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64
|
||||||
|
|
||||||
# 3. SPEC dosyasını en basit haliyle oluştur (Sadece paketleme yapar)
|
# 2. SPEC dosyasını tüm klasörleri kapsayacak şekilde oluştur
|
||||||
cat <<EOF > cmus.spec
|
cat <<EOF > cmus.spec
|
||||||
Name: cmus-custom
|
Name: cmus-custom
|
||||||
Version: 1.0
|
Version: 1.0
|
||||||
Release: 1
|
Release: 1
|
||||||
Summary: Custom Fedora Build for Cmus
|
Summary: Full Fedora Build for Cmus (with Plugins)
|
||||||
License: GPL
|
License: GPL
|
||||||
%define _build_id_links none
|
%define _build_id_links none
|
||||||
%global debug_package %{nil}
|
%global debug_package %{nil}
|
||||||
|
|
||||||
%description
|
%description
|
||||||
y1lm0z tarafından otomatik derlenen cmus paketi.
|
y1lm0z tarafından tüm giriş/çıkış eklentileri (ip/op) dahil edilerek derlenen cmus paketi.
|
||||||
|
|
||||||
%files
|
%files
|
||||||
|
# Program dosyaları
|
||||||
/usr/bin/cmus
|
/usr/bin/cmus
|
||||||
/usr/bin/cmus-remote
|
/usr/bin/cmus-remote
|
||||||
|
# Eklentiler (Hata aldığın yer burasıydı)
|
||||||
|
/usr/lib/cmus/
|
||||||
|
# Ayar ve tema dosyaları
|
||||||
|
/usr/share/cmus/
|
||||||
|
# Yardım sayfaları (Opsiyonel ama iyi olur)
|
||||||
|
/usr/share/man/man1/cmus*
|
||||||
|
/usr/share/man/man7/cmus*
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
# 4. Sadece dosyaları paketle (Derleme veya kurulum adımlarını atla)
|
# 3. Paketi inşa et (Hazırladığımız BUILDROOT'u kullanıyoruz)
|
||||||
rpmbuild -bb --define "_topdir $HOME/rpmbuild" --buildroot $HOME/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64 cmus.spec
|
rpmbuild -bb --buildroot $HOME/rpmbuild/BUILDROOT/cmus-custom-1.0-1.x86_64 cmus.spec
|
||||||
|
|
||||||
# 5. RPM'i çalışma dizinine al
|
# 4. RPM'i çalışma dizinine al
|
||||||
cp ~/rpmbuild/RPMS/x86_64/*.rpm .
|
cp ~/rpmbuild/RPMS/x86_64/*.rpm .
|
||||||
|
|
||||||
- name: Release Kontrol Et ve RPM'i Yükle
|
- name: Release Kontrol Et ve RPM'i Yükle
|
||||||
run: |
|
run: |
|
||||||
SHORT_SHA=$(git rev-parse --short HEAD)
|
SHORT_SHA=$(git rev-parse --short HEAD)
|
||||||
NEW_RPM_NAME="cmus-custom-${SHORT_SHA}.x86_64.rpm"
|
NEW_RPM_NAME="cmus-full-${SHORT_SHA}.x86_64.rpm"
|
||||||
mv *.rpm $NEW_RPM_NAME
|
mv *.rpm $NEW_RPM_NAME
|
||||||
|
|
||||||
# Release oluştur (yoksa)
|
# Release oluştur
|
||||||
curl -s -X 'POST' "https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases" \
|
curl -s -X 'POST' "https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases" \
|
||||||
-H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
|
-H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d '{"tag_name": "v1.0", "name": "Fedora Build v1.0", "body": "Otomatik RPM derlemesi", "draft": false, "prerelease": false}' || true
|
-d '{"tag_name": "v1.0", "name": "Fedora Build v1.0", "body": "Full Plugin Support RPM", "draft": false, "prerelease": false}' || true
|
||||||
|
|
||||||
# ID al
|
# ID al (jq ile güvenli)
|
||||||
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
|
RELEASE_ID=$(curl -s -H "Authorization: token ${{ secrets.RELEASE_TOKEN }}" \
|
||||||
"https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases/tags/v1.0" | jq -r '.id')
|
"https://git.y1lm0z.me/api/v1/repos/${{ gitea.repository }}/releases/tags/v1.0" | jq -r '.id')
|
||||||
|
|
||||||
if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" == "null" ]; then
|
if [ -z "$RELEASE_ID" ] || [ "$RELEASE_ID" == "null" ]; then
|
||||||
echo "Release ID bulunamadı!"
|
echo "Hata: Release ID bulunamadı!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user