#!/bin/bash . /usr/share/slax/slaxbuildlib SLAX_BUNDLE_NAME="testdisk" # Specify version of the module. It is recommended to # specify the same version as the software you're building, # for example if you're building firefox 17.0, put there "17.0" # SLAX_BUNDLE_VERSION="7.0" # Optional (but recommended) description. 65536 characters maximum. # First line of text is listed at slax website. Feel free to write # multiple lines. # SLAX_BUNDLE_DESCRIPTION="A forensic tool to analyze disks. You are able to repair and recover partitions or only find files on a data store." # Category tags # Specify which categories the bundle you're building belongs. # You can specify more than one. Separate by space or comma. # Possible values are: # artwork, games, network, develop, console, graphics, # editors, security, drivers, libraries, education # multimedia, system, multilang, utilities # SLAX_BUNDLE_CATEGORIES="security, system, utilities" # Specify unique names of existing Slax bundles which must be # activated a priori in order for your bundle to work in Slax. # Separate by space or comma. For example, if you're building # xbmc, you may need to use "libmpeg2,libass" # SLAX_BUNDLES_REQUIRED="" # If you're going to compile from sources, and the compilation # requires some software, specify it here. Separate names by # space or comma. The software you're building must run # without these dependencies. If it doesn't list your deps # in the previous SLAX_BUNDLE_REQUIRES setting. For example, # some software may need perl or cmake, so use "perl,cmake" # in that case. # SLAX_BUNDLES_REQUIRED_TO_COMPILE_ONLY="" # Tell us who you are, so others can contact you in case of # suggestions or questions. Please use valid values. # SLAX_BUNDLE_MAINTAINER_NAME="Arne Schubert" SLAX_BUNDLE_MAINTAINER_EMAIL="atd.schubert@gmail.com" # All source packages which need to be downloaded, or basically # anything you need to download in order to produce your bundle. # Specify direct URL links to download. You can add just one URL # and leave the other empty or you can even add more than three, # just remember to increase the index in brackets like [4], [5]... # All protocols supported by wget are possible, eg http, ftp. # SLAX_BUNDLE_SOURCE_DOWNLOAD[0]="http://www.cgsecurity.org/testdisk-${SLAX_BUNDLE_VERSION}-WIP.tar.bz2" SLAX_BUNDLE_SOURCE_DOWNLOAD[1]="" SLAX_BUNDLE_SOURCE_DOWNLOAD[2]="" # -------------------------------------------------------------------- # -------------------------------------------------------------------- # We're now all set. Next command automatically performs sanity checks # and reports all possible problems before build procedure starts. # No need to change anything here, just let it run. # check_variables_for_errors # The following command downloads automatically all sources # from the URLs mentioned above and stores them in current directory # under the same name as like specified in the URLs. If any download # fails, the whole build script stops. # No need to change anything here, just let it run. # download_all_sources # We assume that all downloads were compressed tar archives # The next command will attempt to extract them to current directory. # If the extraction fails for any given source, the failure is # silently ignored since the downloaded file may not be compressed # archive at all, e.g. it may be just a graphical image or icon # or diff/patch or whatever. # No need to change anything here, just let it run. # extract_all_sources # This step creates empty directory somewhere in /tmp and stores # the path to it in $SLAX_BUNDLE_TARGET for you. You can think # of it as a virtual root filesystem for your bundle data. # This is actually essential and must be here. # init_bundle_target_dir # Before the processing starts, the build script will automatically # download and activate all Slax Bundles mentioned in the appropriate # variables above. If the deps are already activated, it will skip # them silently, no need to download again. # activate_required_bundles # Now it's up to you. Your buildscript must prepare the software # (for example compile it etc) and install or copy the result # to destination directory $SLAX_BUNDLE_TARGET # There are several variables prepared for you so you can use # them during configure. # # Those are: # # ${SLAX_ARCH} # ... architecture of currently running Slax, e.g. "i486" # # ${SLAX_CFLAGS} # ... compiler flags needed for current architecture # for example "-Os -march=i486 -mtune=i686" # # ${SLAX_BUNDLE_TARGET} # ... as already explained this is the target directory tree # where to install all files # # ${SLAX_LIBDIR} # ... library dir e.g. "/usr/lib64" # # ${SLAX_64_FLAG} # ... if the current architecture is 64bit, this variable # contains just string '64' else it is empty # # ${SLAX_CURRENT_BUILDSCRIPT_DIR} # ... absolute path to current working directory, e.g. if you need # to copy something from there to the target directory # # ${SLAX_CONFIGURE_OPTIONS} # ... default value to pass to configure script. For example it # will be: --prefix=/usr --libdir=${SLAX_LIBDIR} --build=${SLAX_ARCH}-slackware-linux cd testdisk-${SLAX_BUNDLE_VERSION}-WIP ./configure make make install DESTDIR="${SLAX_BUNDLE_TARGET}" # All binaries in the target directory are stripped # with the following command. It is generally a good idea # since it makes them smaller, but removes debug information # from the binaries. If you insist on having debug infos # (which is very unusual), you may comment out the following line # strip_unneeded_objects # Since we have everything now installed in ${SLAX_BUNDLE_TARGET}, # we can finally make the bundle. The following command packs all # files and directories from SLAX_BUNDLE_TARGET to Slax bundle. # It is essentially the last command in this build script. # Bundle file will be saved in current directory as NAME.sb # where NAME is actually the value of SLAX_BUNDLE_NAME. # create_slax_bundle # cleanup is not performed. You have to remove everything from # the current working directory manually