Re: Packing a C# project.
"Neil Munro" <[email protected]> Tue, 17 Jun 2008 23:42:35 +0100
| Newsgroups | gmane.comp.autopackage.devel |
|---|---|
| Message-ID | <[email protected]> |
2008/6/16 Isak Savo <[email protected]>: > On Mon, Jun 16, 2008 at 2:16 PM, Neil Munro <[email protected]> wrote: > > > > 2008/6/16 Jan Niklas Hasse <[email protected]>: > >> > >> On Mon, Jun 16, 2008 at 1:45 PM, Neil Munro <[email protected]> > wrote: > >> >> > >> >> echo '*' | import > >> > > >> > Uhm, what's does this step do? > >> > >> It imports all files inside $build_root inside your autopackage. See > >> http://autopackage.org/developer-quickstart.html > > > > Woah not done the mkspec step yet. in fact does the mkapspec program not > do > > all this? I am trying to do the steps in order as they appear on the > > website. In fact, the mkapspec program helped me build the autopackage, > and > > it installs fine, but does not run. At least I am further on than I was. > > I've not gotten it to include the help.txt file and the program bombs out > > with this error. > > It is important that you at least get yourself familiar with how > autopackage works. We've written tons of documentation in various > forms on the web and I strongly suggest you at least read the > quickstart and maybe also the tutorial. > > It is a bit hard to explain how you should solve your problems if you > don't see the big picture :) > > In a nutshell, here's what's required from an apspec-file: > > [BuildPrepare] > In this section, write whatever code that is needed to build the > program and to "install" it into a fake location - The > install part is important, because the [imports] section expects > stuff to be in the correct places by default (can be > worked around, but it's easier to do [BuildPrepare] good than to > tweak [imports]. > Essentially, stuff should be placed in the location pointed to by > the $build_root environment variable. > > [Imports] > In this section, write calls to the "import" function to include the > actual files in the resulting .package. If > [BuildPrepare] is written good, then all that is needed here is: > echo '*' | import > > [Prepare] > Add dependency checks here (mkapspec can help you here!!) > > [Install] > Add code that installs the stuff that was imported earlier (in > [Imports]). All paths in here are relative paths, equal to > what you see if you look at the directory structure in $build_root > > [Uninstall] > Use uninstallFromLog here. It's all you need unless you did > something really weird in [Install] > > But please, read the documentation on the web. > > Here's what I suggest you do: > 1) Read quickstart, understand the basic concepts > 2) Write an install script like Jan Niklas suggested. It's important > that it installs everything into its proper file hierarchy. > 2.1) If you run the script like so: ./install-script > /tmp/testing-warp-install you should be able to start warp from > /tmp/testing-warp-install/bin/ > 2.2) If 2.1 fails, figure out what's wrong :) > 3) Use mkapspec to create an apspec file (you hinted that you've > already done this, if so, skip this step) > 4) Run makepackage to create the actual package > 5) Try to install it! > > -Isak My understanding of reading the documentation, which I have been doing, just completing sections as well as I can when I reach them. Stage 1: 1) Binary relocatability, I believe I have done this. 2) Dependancy audit, there's only one, mono. I know this from guess work and following the ldd thing on the website. However running it on the exe file with the | grep NEEDED did not work. I assume because it's not an ELF binary. Stage 2: 1) Autopackage developer tools installed. Stage 3: 1) Created the default.apspec.in file using the command line (from template). Stage 4: 1) Edited the file manually to place shortname, description, version number etc into it. Stage 5: 1) Created the install.sh file which is as above, it installs the help.txt file. 2) Placed ./install.sh %build_root in the [PrepareBuild] section just above preparebuild. 3) Left [BuildUnprepare] as it was. Stage 6: 1) use echo '*' | import to import all files. 2) I assume I AM using prepareBuild so skip over the next section. Stage 7: 1) I assume the only dependency considering I am writing in C# is mono. 2) This: http://trac.autopackage.org/wiki/PackagingMonoApps showed me an example of how to get the rootname for mono. My installed version is 1.2.6, so stuck with that. 3) Since help.txt is a data file in the [Install] section in addition to installExe bin/* should I also add copyFile share/help.txt %PREFIX/share/help.txt? Stage 8: 1) Run makepackage in the root of the source directory. Stage 9: 1) Install and test package. Please find attached the default.apspec.in file which I have been working on. At a guess it's only stage 7 I may be having issues with, if I am wrong, well then I am wrong and have to go back a bit. But I'd rather have been right. --------------------------------------------------------------------- To unsubscribe, e-mail: autopackage-dev-unsubscribe-OfajU3CKLf1/[email protected] For additional commands, e-mail: autopackage-dev-help-OfajU3CKLf1/[email protected]
default.apspec.in
(application/octet-stream, 2.8 KB) - not displayed