-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fedora build on GitHub Actions #484
Changes from all commits
346ccb2
b7a631b
61b432c
5886596
d0f3133
525bd4f
b9428c9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
name: Package GEDKeeper3 for Fedora | ||
|
||
on: | ||
push: | ||
branches: [ "master" ] | ||
pull_request: | ||
branches: [ "master" ] | ||
|
||
env: | ||
DOTNET_VERSION: '6.0.*' | ||
|
||
jobs: | ||
build-fedora: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Init | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
- name: .NET SDK check | ||
run: dotnet sdk check | ||
# error NETSDK1084: There is no application host available for the specified RuntimeIdentifier 'freebsd-x64' | ||
# https://learn.microsoft.com/en-us/dotnet/devops/dotnet-build-github-action | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, RID |
||
# - name: Install dependencies | ||
# run: dotnet restore | ||
# working-directory: projects/GKv3 | ||
- name: Build | ||
run: dotnet build -c Linux_Release | ||
working-directory: projects/GKv3 | ||
- name: Package | ||
run: rpmbuild --build-in-place -bb deploy/rpm/gedkeeper-github.spec | ||
- name: Upload | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: gedkeeper3-rpm | ||
path: ~/rpmbuild/RPMS/x86_64/*.rpm | ||
if-no-files-found: error |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
%define summary GEDKeeper - program for work with personal genealogical database. | ||
|
||
Name: gedkeeper | ||
Version: 3.2.1 | ||
Release: 1%{?dist} | ||
Summary: %{summary} | ||
License: GPLv3 | ||
Group: Applications/Editors | ||
Url: https://github.com/serg-norseman/gedkeeper | ||
BuildArch: x86_64 | ||
|
||
AutoReqProv:no | ||
AutoReq: no | ||
Requires: dotnet-runtime-6.0 | ||
Requires: sqlite | ||
|
||
%install | ||
|
||
# main install | ||
mkdir -p %{buildroot}%{_libdir}/%{name} | ||
cp -r bin \ | ||
locales \ | ||
plugins \ | ||
samples \ | ||
scripts %{buildroot}%{_libdir}/%{name} | ||
|
||
# clean multi-arch builds (TODO: fix me) | ||
ls -la %{buildroot}%{_libdir}/%{name}/plugins/runtimes/ | ||
rm -rf %{buildroot}%{_libdir}/%{name}/plugins/runtimes | ||
install -t %{buildroot}%{_libdir}/%{name}/plugins/runtimes/linux-x64/native/ -D plugins/runtimes/linux-x64/native/* | ||
ls -la %{buildroot}%{_libdir}/%{name}/plugins/runtimes/ | ||
|
||
# symlink to binary file | ||
mkdir -p %{buildroot}%{_bindir} | ||
ln -fs %{_libdir}/%{name}/bin/GEDKeeper3 %{buildroot}%{_bindir}/%{name} | ||
|
||
#rpm --eval %{_metainfodir} # not found (TODO: check rpm version, make metainfo) | ||
#install -D deploy/%{name}.metainfo.xml %{buildroot}%{_metainfodir}/%{name}.metainfo.xml | ||
#install -D deploy/%{name}.metainfo.xml %{buildroot}%{_datadir}/metainfo/%{name}.metainfo.xml | ||
install -D deploy/application-x-%{name}.xml %{buildroot}%{_datadir}/mime/packages/%{name}.xml | ||
install -D deploy/rpm/%{name}.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop | ||
install -D deploy/%{name}.png %{buildroot}%{_datadir}/pixmaps/%{name}.png | ||
|
||
cd %{buildroot} | ||
chmod -Rf a-x,a+rX,u+w,g-w,o-w . | ||
chmod a+x %{buildroot}%{_libdir}/%{name}/bin/GEDKeeper3 | ||
|
||
%files | ||
%license LICENSE | ||
%{_bindir}/%{name} | ||
%{_libdir}/%{name} | ||
%{_datadir}/mime/packages/%{name}.xml | ||
%{_datadir}/applications/%{name}.desktop | ||
%{_datadir}/pixmaps/%{name}.png | ||
|
||
%description | ||
%{summary} | ||
|
||
%changelog | ||
* Fri Apr 28 2023 GEDKeeper - 3.2.1 | ||
- New upstream release |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
[Desktop Entry] | ||
Name=GEDKeeper | ||
Comment=Personal genealogical database editor | ||
Comment[cs]=Editor osobní genealogické databáze | ||
Comment[de]=Persönlicher genealogischer Datenbankeditor | ||
Comment[es]=Editor de una base de datos genealógica personal | ||
Comment[fr]=L'éditeur personnelle généalogique de la base de données | ||
Comment[it]=Editor di un database genealogico personali | ||
Comment[kk]=Жеке генеалогиялық деректер қорының редакторы | ||
Comment[pl]=Edytor osobista baza genealogiczna | ||
Comment[pt]=Editor de um banco de dados genealógico pessoal | ||
Comment[ru]=Редактор персональной генеалогической базы данных | ||
Comment[uk]=Редактор персональної генеалогічної бази даних | ||
Comment[zh]=个人系谱数据库编辑器 | ||
Path=/usr/bin/ | ||
Exec=gedkeeper | ||
MimeType=application/x-gedkeeper | ||
MimeType=application/x-gedcom | ||
Icon=/usr/share/pixmaps/gedkeeper.png | ||
Terminal=false | ||
Type=Application | ||
Categories=Office | ||
StartupNotify=true | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What is the point of copying an already existing file here? Why maintain two files with identical content? |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,13 +8,10 @@ Summary: %{summary} | |
License: GPLv3 | ||
Group: Applications/Editors | ||
Url: https://github.com/serg-norseman/gedkeeper | ||
Source: %{name}-%{version}.tar.gz | ||
Source: %{name}-%{version}.tar.gz | ||
BuildArch: x86_64 | ||
|
||
#Requires: mono-core | ||
#Requires: mono-data | ||
#Requires: mono-winforms | ||
#Requires: lua | ||
Requires: dotnet-runtime-6.0 | ||
guard43ru marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Requires: sqlite | ||
|
||
AutoReq: no | ||
|
@@ -33,11 +30,6 @@ AutoReqProv: no | |
|
||
%prep | ||
%setup -qc | ||
find . -type f -iname "*.dll" -exec chmod -x {} \; | ||
find ./locales -type f -exec chmod -x '{}' \; | ||
find ./plugins -type f -exec chmod -x '{}' \; | ||
find ./scripts -type f -exec chmod -x '{}' \; | ||
find ./samples -type f -exec chmod -x '{}' \; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you sure it's not needed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, %setup macro does:
Does we need some files executable? (except main)
|
||
|
||
%install | ||
install -Dm 0755 gk_run.sh %{buildroot}%{_bindir}/gk_run.sh | ||
|
@@ -52,7 +44,7 @@ cp -r bin \ | |
scripts %{buildroot}%{_libdir}/%{name} | ||
|
||
## E: zero-length | ||
rm -rf %{buildroot}%{_libdir}/%{name}/scripts/readme.txt | ||
#rm -rf %{buildroot}%{_libdir}/%{name}/scripts/readme.txt | ||
|
||
%changelog | ||
* Apr 28 2023 GEDKeeper - 3.2.1 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this actually needs to be built
in
Fedora, not on Ubuntu.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think not need any specific packages for separate build this project in Fedora.