build_deb.sh 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. DBUS_SERVICES=$PACKAGE/usr/share/dbus-1/services
  10. ICONS=$PACKAGE/usr/share/icons/hicolor/scalable/apps
  11. METAINFO=$PACKAGE/usr/share/metainfo
  12. DEBIAN=$PACKAGE/DEBIAN
  13. # Create package folder
  14. mkdir -p $LIB
  15. mkdir -p $APPLICATIONS
  16. mkdir -p $DBUS_SERVICES
  17. mkdir -p $ICONS
  18. mkdir -p $METAINFO
  19. mkdir -p $DEBIAN
  20. # Configure the package
  21. cp -R ./scripts/linux_distribution/deb/DEBIAN $PACKAGE
  22. chmod 0755 $DEBIAN/postinst
  23. chmod 0755 $DEBIAN/postrm
  24. grep -rl "\[CHANGE_THIS\]" $DEBIAN/control | xargs sed -i "s/\[CHANGE_THIS\]/$VERSION/"
  25. cp -fR $LINUX_RELEASE_PRODUCTION/AppFlowy $LIB
  26. cp ./scripts/linux_distribution/packaging/launcher.sh $LIB/AppFlowy
  27. chmod +x $LIB/AppFlowy/launcher.sh
  28. cp ./scripts/linux_distribution/deb/AppFlowy.desktop $APPLICATIONS
  29. cp ./scripts/linux_distribution/packaging/io.appflowy.AppFlowy.launcher.desktop $APPLICATIONS
  30. cp ./scripts/linux_distribution/packaging/io.appflowy.AppFlowy.metainfo.xml $METAINFO
  31. cp ./scripts/linux_distribution/packaging/io.appflowy.AppFlowy.service $DBUS_SERVICES
  32. cp ./scripts/linux_distribution/packaging/appflowy.svg $ICONS
  33. # Build the package
  34. dpkg-deb --build --root-owner-group -Z xz $PACKAGE $LINUX_RELEASE_PRODUCTION/$PACKAGE_NAME