Skip to content

Commit 5ffc1de

Browse files
committed
RPMs.
1 parent 8d29886 commit 5ffc1de

File tree

2 files changed

+62
-3
lines changed

2 files changed

+62
-3
lines changed

.github/workflows/build.yml

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ jobs:
1515
include:
1616
- os: ubuntu-latest
1717
binary_name: sqlwrite-linux.deb
18+
- os: ubuntu-latest
19+
binary_name: sqlwrite-linux.rpm
1820
- os: macos-latest
1921
binary_name: sqlwrite-mac.pkg
2022

@@ -26,15 +28,19 @@ jobs:
2628
run: |
2729
if [[ "$RUNNER_OS" == "Linux" ]]; then
2830
sudo apt-get update
29-
sudo apt-get install -y make curl libcurl4-openssl-dev dpkg-dev
31+
sudo apt-get install -y make curl libcurl4-openssl-dev dpkg-dev rpm
3032
fi
3133
3234
- name: Build with Make
3335
run: make
3436

3537
- name: Package as .deb on Linux
3638
if: matrix.os == 'ubuntu-latest'
37-
run: make linux-package
39+
run: make deb-package
40+
41+
- name: Package as .rpm on Linux
42+
if: matrix.os == 'ubuntu-latest'
43+
run: make rpm-package
3844

3945
- name: Package as .pkg on macOS
4046
if: matrix.os == 'macos-latest'
@@ -47,6 +53,13 @@ jobs:
4753
name: sqlwrite-linux.deb
4854
path: sqlwrite-linux.deb
4955

56+
- name: Upload Linux .rpm as artifact
57+
if: matrix.os == 'ubuntu-latest'
58+
uses: actions/upload-artifact@v3
59+
with:
60+
name: sqlwrite-linux.rpm
61+
path: sqlwrite-linux.rpm
62+
5063
- name: Upload macOS pkg as artifact
5164
if: matrix.os == 'macos-latest'
5265
uses: actions/upload-artifact@v3
@@ -68,6 +81,12 @@ jobs:
6881
name: sqlwrite-linux.deb
6982
path: .
7083

84+
- name: Download Linux .rpm artifact
85+
uses: actions/download-artifact@v3
86+
with:
87+
name: sqlwrite-linux.rpm
88+
path: .
89+
7190
- name: Download macOS pkg artifact
7291
uses: actions/download-artifact@v3
7392
with:
@@ -101,6 +120,16 @@ jobs:
101120
asset_name: sqlwrite-linux.deb
102121
asset_content_type: application/vnd.debian.binary-package
103122

123+
- name: Upload Linux .rpm to release
124+
uses: actions/upload-release-asset@v1
125+
env:
126+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
127+
with:
128+
upload_url: ${{ steps.create_release.outputs.upload_url }}
129+
asset_path: ./sqlwrite-linux.rpm
130+
asset_name: sqlwrite-linux.rpm
131+
asset_content_type: application/x-rpm
132+
104133
- name: Upload macOS pkg to release
105134
uses: actions/upload-release-asset@v1
106135
env:

GNUmakefile

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,10 @@ pkg: sqlwrite-bin
5353
endif
5454

5555
# Packaging for Linux systems
56-
linux-package: sqlwrite-bin
56+
57+
linux-package: deb-package rpm-package
58+
59+
deb-package: sqlwrite-bin
5760
# Create the package directory structure
5861
mkdir -p pkg_root/usr/local/bin
5962
mkdir -p pkg_root/usr/local/lib
@@ -71,6 +74,33 @@ linux-package: sqlwrite-bin
7174
echo "Description: Sqlwrite command-line tool" >> pkg_root/DEBIAN/control
7275
dpkg-deb --build pkg_root sqlwrite-linux.deb
7376

77+
rpm-package:
78+
mkdir -p rpm_root/usr/local/bin
79+
mkdir -p rpm_root/usr/local/lib
80+
cp sqlwrite-bin rpm_root/usr/local/bin
81+
cp $(LIBFILE) rpm_root/usr/local/lib
82+
cp $(SQLITE_LIB) rpm_root/usr/local/lib
83+
84+
mkdir -p rpm_root/BUILD rpm_root/RPMS rpm_root/SOURCES rpm_root/SPECS rpm_root/SRPMS
85+
mkdir -p rpm_root/SPECS
86+
echo "%define _topdir $(shell pwd)/rpm_root" > rpm_root/SPECS/sqlwrite.spec
87+
echo "Name: sqlwrite" >> rpm_root/SPECS/sqlwrite.spec
88+
echo "Version: 1.0" >> rpm_root/SPECS/sqlwrite.spec
89+
echo "Release: 1" >> rpm_root/SPECS/sqlwrite.spec
90+
echo "Summary: Sqlwrite command-line tool" >> rpm_root/SPECS/sqlwrite.spec
91+
echo "License: Apache-2.0" >> rpm_root/SPECS/sqlwrite.spec
92+
echo "Group: Development/Tools" >> rpm_root/SPECS/sqlwrite.spec
93+
echo "BuildArch: $(shell uname -m)" >> rpm_root/SPECS/sqlwrite.spec
94+
echo "%description" >> rpm_root/SPECS/sqlwrite.spec
95+
echo "Sqlwrite command-line tool for SQL tasks." >> rpm_root/SPECS/sqlwrite.spec
96+
echo "%files" >> rpm_root/SPECS/sqlwrite.spec
97+
echo "/usr/local/bin/sqlwrite-bin" >> rpm_root/SPECS/sqlwrite.spec
98+
echo "/usr/local/lib/$(LIBFILE)" >> rpm_root/SPECS/sqlwrite.spec
99+
echo "/usr/local/lib/$(SQLITE_LIB)" >> rpm_root/SPECS/sqlwrite.spec
100+
101+
rpmbuild -bb rpm_root/SPECS/sqlwrite.spec --buildroot $(shell pwd)/rpm_root
102+
cp rpm_root/RPMS/*/sqlwrite-1.0-1.*.rpm sqlwrite-linux.rpm
103+
74104

75105
clean:
76106
rm -rf sqlwrite-mac.pkg sqlwrite-linux.deb sqlwrite-bin $(LIBFILE) $(SQLITE_LIB)

0 commit comments

Comments
 (0)