add rules to package flutter

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2023-01-26 08:11:11 -06:00
parent 5c498c346d
commit 01e2213159
10 changed files with 168 additions and 0 deletions

View File

@ -0,0 +1,65 @@
.PHONY: control
SOURCE=~/tmp/flutter
VERSION=3.7.0
MINOR=git
BASENAME=flutter-source-build
help:
@echo
@echo "make all # to attempt to download, extract and build the .deb package using dpkg"
@echo
all: download clean extract DEBIAN build
# uses 'ar' to make a .deb file
raw: download clean extract DEBIAN tar-ar
clean:
rm -rf ../files
rm -f ../*.deb
rm -f ../*.tar.xz data.tar.xz
rm -rf DEBIAN
download:
@echo
@echo CHECK FOR NEW VERSION via 'git tags'
@echo
extract:
mkdir -p ../files/opt/
cd ../files/opt/ && cp -a ${SOURCE} .
# makes the DEBIAN/ directory
DEBIAN:
mkdir -p DEBIAN
make md5sum
make control
cp preinst DEBIAN
cp postinst DEBIAN
control:
mkdir -p DEBIAN
cp control DEBIAN/
echo Version: ${VERSION}.${MINOR} >>DEBIAN/control
md5sum:
cd ../files/ && find -type f -exec md5sum '{}' \; |sort -k2 >../md5sums
mv ../md5sums DEBIAN/
build:
mv DEBIAN ../files/
cd .. && dpkg-deb --build files ${BASENAME}_${VERSION}.${MINOR}_amd64.deb
cd .. && dpkg-deb --info ${BASENAME}_${VERSION}.${MINOR}_amd64.deb
# how to make a debian package "raw" just using tar and ar
#
# READ THIS AGAIN:
#
# A .deb file is just output from 'ar rcs'
#
tar-ar: control
cd DEBIAN && tar --ignore-failed-read -cvJf ../control.tar.xz .
cd files && tar -cvJf ../data.tar.xz .
ar rcs ${BASENAME}_${VERSION}.${MINOR}_amd64.deb debian-binary control.tar.xz data.tar.xz
dpkg-deb --info ${BASENAME}_${VERSION}.${MINOR}_amd64.deb

View File

@ -0,0 +1,14 @@
Package: flutter-source-build
Source: flutter-source-build
Architecture: amd64
Maintainer: Jeff Carr <jcarr@wit.com>
Installed-Size: 5883
Section: development
Priority: optional
Homepage: https://flutter.dev/
Description: flutter-source-build
Raw build from git repo
.
Files moved to be stored in /opt/flutter/
.
This packaging is simple. It is just the default build.

View File

@ -0,0 +1 @@
2.0

1
flutter-source-build/postinst Executable file
View File

@ -0,0 +1 @@
#!/bin/sh

3
flutter-source-build/preinst Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh -x
# Is there something that should be done here?

65
flutter/Makefile Normal file
View File

@ -0,0 +1,65 @@
.PHONY: control
TARBALL=~/tmp/flutter-3.7.0-1.5.pre.tgz
VERSION=3.7.0
MINOR=1.5.pre
BASENAME=flutter
help:
@echo
@echo "make all # to attempt to download, extract and build the .deb package using dpkg"
@echo
all: download clean extract DEBIAN build
# uses 'ar' to make a .deb file
raw: download clean extract DEBIAN tar-ar
clean:
rm -rf ../files
rm -f ../*.deb
rm -f ../*.tar.xz data.tar.xz
rm -rf DEBIAN
download:
@echo
@echo CHECK FOR NEW VERSION via 'git tags'
@echo
extract:
mkdir -p ../files/
cd ../files/ && tar xfz ${TARBALL}
# makes the DEBIAN/ directory
DEBIAN:
mkdir -p DEBIAN
make md5sum
make control
cp preinst DEBIAN
cp postinst DEBIAN
control:
mkdir -p DEBIAN
cp control DEBIAN/
echo Version: ${VERSION}.${MINOR} >>DEBIAN/control
md5sum:
cd ../files/ && find -type f -exec md5sum '{}' \; |sort -k2 >../md5sums
mv ../md5sums DEBIAN/
build:
mv DEBIAN ../files/
cd .. && dpkg-deb --build files ${BASENAME}_${VERSION}.${MINOR}_amd64.deb
cd .. && dpkg-deb --info ${BASENAME}_${VERSION}.${MINOR}_amd64.deb
# how to make a debian package "raw" just using tar and ar
#
# READ THIS AGAIN:
#
# A .deb file is just output from 'ar rcs'
#
tar-ar: control
cd DEBIAN && tar --ignore-failed-read -cvJf ../control.tar.xz .
cd files && tar -cvJf ../data.tar.xz .
ar rcs ${BASENAME}_${VERSION}.${MINOR}_amd64.deb debian-binary control.tar.xz data.tar.xz
dpkg-deb --info ${BASENAME}_${VERSION}.${MINOR}_amd64.deb

14
flutter/control Normal file
View File

@ -0,0 +1,14 @@
Package: flutter
Source: flutter
Architecture: amd64
Maintainer: Jeff Carr <jcarr@wit.com>
Installed-Size: 5883
Section: development
Priority: optional
Homepage: https://flutter.dev/
Description: flutter
Raw build from git repo
.
Files moved to be stored in /opt/flutter/bin/
.
This packaging is simple. It is just the default build.

1
flutter/debian-binary Normal file
View File

@ -0,0 +1 @@
2.0

1
flutter/postinst Executable file
View File

@ -0,0 +1 @@
#!/bin/sh

3
flutter/preinst Executable file
View File

@ -0,0 +1,3 @@
#!/bin/sh -x
# Is there something that should be done here?