~directhex/pkgme/pkgme

« back to all changes in this revision

Viewing changes to pkgme/backends/xbuild/extra_files

  • Committer: Jo Shields
  • Date: 2012-07-30 21:09:58 UTC
  • Revision ID: directhex@apebox.org-20120730210958-7vsmvc32k7dc3c88
Generate a /usr/bin launcher script for the application's "main" executable. It's not possible to work on any basis other than "which executable is made by the startup project" as we need to determine this before having other data (such as file size) to work with.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
# If we have a .sln, use the name of the startup project
18
18
if [ -n "$(find . -name '*.sln' 2>/dev/null)" ]; then
19
19
        INSTALLDIR=$(find . -name \*.sln -exec grep StartupItem {} \; | dos2unix | sed 's/.*\\//' | sed 's/\.csproj//' | sed 's/ /-/' | tail -1)
20
 
        STARTUPPROJECTDIR=$(dirname $(find . -name \*.sln -exec  grep StartupItem {} \; | dos2unix | sed 's/.* = //' | sed 's#\\#/#') | sed 's# #\\ #g')
 
20
        STARTUPPROJECT=$(find . -name \*.sln -exec  grep StartupItem {} \; | dos2unix | sed 's/.* = //' | sed 's#\\#/#')
 
21
        STARTUPPROJECTDIR=$(dirname ${STARTUPPROJECT} | sed 's# #\\ #g')
 
22
        EXECUTABLE=/usr/lib/${INSTALLDIR}/$(grep AssemblyName ${STARTUPPROJECT} | sed 's#</.*#.exe#' | sed 's/.*>//')
21
23
else
22
24
        # Fallback - just use the name of the last .csproj file in the tree
23
25
        INSTALLDIR=$(find . -name \*.csproj -exec basename {} .csproj \; | sed 's/ /-/' | tail -1)
24
 
        STARTUPPROJECTDIR=$(dirname $(find . -name \*.csproj | tail -1) | sed 's#^./##' | sed 's# #\\ #g' )
 
26
        STARTUPPROJECT=$(find . -name \*.csproj | tail -1)
 
27
        STARTUPPROJECTDIR=$(dirname ${STARTUPPROJECT} | sed 's#^./##' | sed 's# #\\ #g' )
 
28
        EXECUTABLE=/usr/lib/${INSTALLDIR}/$(grep AssemblyName ${STARTUPPROJECT} | sed 's#</.*#.exe#' | sed 's/.*>//')
25
29
fi
26
30
 
 
31
# create launcher script
27
32
# Create install file to copy all output from startup project's output dir into /usr/lib/foo
28
 
echo "{\"debian/install\":\"${STARTUPPROJECTDIR}/bin/Release/*      /usr/lib/${INSTALLDIR}\"}"
 
33
echo "{\"debian/install\":\"${STARTUPPROJECTDIR}/bin/Release/*      /usr/lib/${INSTALLDIR}\\\\ndebian/launcher/${INSTALLDIR}      /usr/bin\",\"debian/launcher/${INSTALLDIR}\":\"#!/bin/sh\\\\n\\\\nmono \\\\\""${EXECUTABLE}\\\\\"" \\\\\""\$\@\\\\\""\"}"