package-stuff/android-studio/Makefile

67 lines
1.6 KiB
Makefile

.PHONY: control
TARBALL=/home/android-studio-2022.1.1.19-linux.tar.gz
VERSION=2022
MINOR=1.1.19
BASENAME=android-studio
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 AT: https://developer.android.com/studio
@echo CHECK FOR NEW VERSION AT: https://developer.android.com/studio
@echo CHECK FOR NEW VERSION AT: https://developer.android.com/studio
@echo
extract:
mkdir -p ../files/opt/
cd ../files/opt/ && 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 >../DEBIAN/md5sums
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