build_deb.sh 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. LINUX_RELEASE_PRODUCTION=$1
  3. VERSION=$2
  4. PACKAGE_NAME=$3
  5. # Define package folders
  6. PACKAGE=$LINUX_RELEASE_PRODUCTION/package
  7. LIB=$PACKAGE/usr/lib
  8. APPLICATIONS=$PACKAGE/usr/share/applications
  9. ICONS=$PACKAGE/usr/share/icons/hicolor/scalable/apps
  10. METAINFO=$PACKAGE/usr/share/metainfo
  11. DEBIAN=$PACKAGE/DEBIAN
  12. # Create package folder
  13. mkdir -p $LIB
  14. mkdir -p $APPLICATIONS
  15. mkdir -p $ICONS
  16. mkdir -p $METAINFO
  17. mkdir -p $DEBIAN
  18. # Configure the package
  19. cp -R ./scripts/linux_distribution/deb/DEBIAN $PACKAGE
  20. chmod 0755 $DEBIAN/postinst
  21. chmod 0755 $DEBIAN/postrm
  22. grep -rl "\[CHANGE_THIS\]" $DEBIAN/control | xargs sed -i "s/\[CHANGE_THIS\]/$VERSION/"
  23. cp -fR $LINUX_RELEASE_PRODUCTION/AppFlowy $LIB
  24. cp ./scripts/linux_distribution/deb/AppFlowy.desktop $APPLICATIONS
  25. cp ./scripts/linux_distribution/packaging/io.appflowy.AppFlowy.metainfo.xml $METAINFO
  26. cp ./scripts/linux_distribution/packaging/appflowy.svg $ICONS
  27. # Build the package
  28. dpkg-deb --build --root-owner-group -Z xz $PACKAGE $LINUX_RELEASE_PRODUCTION/$PACKAGE_NAME