You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
335 lines
7.8 KiB
335 lines
7.8 KiB
#!/bin/sh |
|
|
|
# make_xorriso_standalone.sh |
|
# Copyright 2008 - 2011 Thomas Schmitt, scdbackup@gmx.net, GPLv2+ |
|
# |
|
# Not intended for general use in production installations ! |
|
# |
|
# This is a development tool which expects a special setup of directories. |
|
# It is to be executed in a common parent of the directories |
|
# nglibisofs-develop jte-develop libburn-develop libisoburn-develop |
|
# where tarballs or repository copies have been installed of |
|
# libisofs jte libburn libisoburn |
|
# obtained according to instructions on http://libburnia-project.org. |
|
# |
|
# It creates a new directory tree |
|
# xorriso-standalone |
|
# for building GNU xorriso. |
|
# |
|
# The ./bootstrap script gets applied and a source tarball |
|
# is made. |
|
# |
|
# From that tree can be build a binary xorriso/xorriso which at runtime |
|
# does not depend on installed libburnia libraries. |
|
# Execute in xorriso-standalone : |
|
# |
|
# ./configure && make |
|
# |
|
|
|
# By the variable setting create_gnu_xorriso="yes" |
|
# the result will become a GNU xorriso tarball under GPLv3+. |
|
# Without this setting, the result is technically equivalent but |
|
# stays under GPLv2+. In that case the files xorriso/*_gnu_xorriso |
|
# are merely informative. |
|
# Note that it is not permissible to revert the transition from |
|
# GPLv2+ to GPLv3+. (Rather derive a new GPLv2+ from libburnia.) |
|
|
|
create_gnu_xorriso="yes" |
|
|
|
|
|
current_dir=$(pwd) |
|
lone_dir="$current_dir"/"xorriso-standalone" |
|
|
|
xorriso_rev=1.0.5 |
|
# For unstable uploads and patch level 0 of stable releases: |
|
xorriso_pl="" |
|
# For higher patch levels of stable releases: |
|
## xorriso_pl=".pl01" |
|
|
|
with_bootstrap_tarball=1 |
|
|
|
create_dir() { |
|
if mkdir "$1" |
|
then |
|
dummy=dummy |
|
else |
|
echo "Failed to create : $1" >&2 |
|
exit 1 |
|
fi |
|
} |
|
|
|
goto_dir() { |
|
if cd "$1" |
|
then |
|
dummy=dummy |
|
else |
|
echo "Failed to cd $1" >&2 |
|
exit 1 |
|
fi |
|
} |
|
|
|
copy_files() { |
|
if cp "$@" |
|
then |
|
dummy=dummy |
|
else |
|
echo "Failed to : cp " "$@" >&2 |
|
exit 1 |
|
fi |
|
} |
|
|
|
if test -e "$lone_dir" |
|
then |
|
echo "Already existing : $lone_dir" >&2 |
|
exit 1 |
|
fi |
|
|
|
|
|
# Top level directory |
|
|
|
goto_dir "$current_dir"/libisoburn-develop |
|
|
|
create_dir "$lone_dir" |
|
|
|
copy_files \ |
|
AUTHORS \ |
|
CONTRIBUTORS \ |
|
COPYRIGHT \ |
|
COPYING \ |
|
INSTALL \ |
|
acinclude.m4 \ |
|
aclocal.m4 \ |
|
bootstrap \ |
|
compile \ |
|
config.guess \ |
|
config.status \ |
|
config.sub \ |
|
depcomp \ |
|
install-sh \ |
|
libtool \ |
|
ltmain.sh \ |
|
missing \ |
|
mkinstalldirs \ |
|
version.h.in \ |
|
\ |
|
"$lone_dir" |
|
|
|
copy_files xorriso/xorriso_bootstrap.txt "$lone_dir"/bootstrap |
|
|
|
copy_files xorriso/configure_ac.txt "$lone_dir"/configure.ac |
|
|
|
copy_files xorriso/xorriso_makefile_am.txt "$lone_dir"/Makefile.am |
|
|
|
|
|
# libisoburn |
|
|
|
create_dir "$lone_dir"/libisoburn |
|
copy_files \ |
|
libisoburn/*.[ch] \ |
|
"$lone_dir"/libisoburn |
|
copy_files COPYRIGHT "$lone_dir"/libisoburn |
|
|
|
xorriso/convert_man_to_html.sh |
|
|
|
create_dir "$lone_dir"/xorriso |
|
copy_files \ |
|
xorriso/xorriso.h \ |
|
xorriso/xorriso_private.h \ |
|
xorriso/sfile.h \ |
|
xorriso/sfile.c \ |
|
xorriso/aux_objects.h \ |
|
xorriso/aux_objects.c \ |
|
xorriso/findjob.h \ |
|
xorriso/findjob.c \ |
|
xorriso/check_media.h \ |
|
xorriso/check_media.c \ |
|
xorriso/misc_funct.h \ |
|
xorriso/misc_funct.c \ |
|
xorriso/text_io.h \ |
|
xorriso/text_io.c \ |
|
xorriso/match.h \ |
|
xorriso/match.c \ |
|
xorriso/emulators.h \ |
|
xorriso/emulators.c \ |
|
xorriso/disk_ops.h \ |
|
xorriso/disk_ops.c \ |
|
xorriso/cmp_update.h \ |
|
xorriso/cmp_update.c \ |
|
xorriso/parse_exec.h \ |
|
xorriso/parse_exec.c \ |
|
xorriso/opts_a_c.c \ |
|
xorriso/opts_d_h.c \ |
|
xorriso/opts_i_o.c \ |
|
xorriso/opts_p_z.c \ |
|
\ |
|
xorriso/xorrisoburn.h \ |
|
xorriso/base_obj.h \ |
|
xorriso/base_obj.c \ |
|
xorriso/lib_mgt.h \ |
|
xorriso/lib_mgt.c \ |
|
xorriso/sort_cmp.h \ |
|
xorriso/sort_cmp.c \ |
|
xorriso/drive_mgt.h \ |
|
xorriso/drive_mgt.c \ |
|
xorriso/iso_img.h \ |
|
xorriso/iso_img.c \ |
|
xorriso/iso_tree.h \ |
|
xorriso/iso_tree.c \ |
|
xorriso/iso_manip.h \ |
|
xorriso/iso_manip.c \ |
|
xorriso/write_run.h \ |
|
xorriso/write_run.c \ |
|
xorriso/read_run.h \ |
|
xorriso/read_run.c \ |
|
xorriso/filters.h \ |
|
xorriso/filters.c \ |
|
\ |
|
xorriso/xorriso_main.c \ |
|
xorriso/xorriso_timestamp.h \ |
|
\ |
|
xorriso/changelog.txt \ |
|
xorriso/xorriso_eng.html \ |
|
xorriso/make_docs.sh \ |
|
xorriso/xorriso.texi \ |
|
xorriso/xorriso.info \ |
|
xorriso/xorrisofs.texi \ |
|
xorriso/xorrisofs.info \ |
|
xorriso/make_xorriso_1.c \ |
|
xorriso/xorriso.1 \ |
|
xorriso/xorrisofs.1 \ |
|
xorriso/man_1_xorriso.html \ |
|
xorriso/man_1_xorrisofs.html \ |
|
"$lone_dir"/xorriso |
|
copy_files COPYRIGHT "$lone_dir"/xorriso |
|
|
|
copy_files xorriso/xorriso_buildstamp_none.h \ |
|
"$lone_dir"/xorriso/xorriso_buildstamp.h |
|
copy_files xorriso/xorriso_buildstamp_none.h \ |
|
"$lone_dir"/xorriso/xorriso_buildstamp_none.h |
|
|
|
create_dir "$lone_dir"/doc |
|
copy_files doc/partition_offset.wiki \ |
|
doc/startup_file.txt \ |
|
"$lone_dir"/doc |
|
|
|
create_dir "$lone_dir"/test |
|
copy_files \ |
|
test/compare_file.c \ |
|
"$lone_dir"/test/compare_file.c |
|
|
|
|
|
# nglibisofs |
|
|
|
create_dir "$lone_dir"/libisofs |
|
create_dir "$lone_dir"/libisofs/filters |
|
goto_dir "$current_dir"/nglibisofs-develop |
|
copy_files libisofs/*.[ch] "$lone_dir"/libisofs |
|
copy_files libisofs/filters/*.[ch] "$lone_dir"/libisofs/filters |
|
copy_files doc/susp_aaip*.txt "$lone_dir"/doc |
|
copy_files doc/zisofs_format.txt "$lone_dir"/doc |
|
copy_files doc/checksums.txt "$lone_dir"/doc |
|
copy_files doc/boot_sectors.txt "$lone_dir"/doc |
|
copy_files COPYRIGHT "$lone_dir"/libisofs |
|
test -e CONTRIBUTORS && cat CONTRIBUTORS >>"$lone_dir"/CONTRIBUTORS |
|
|
|
# To get a common version.h |
|
cat version.h.in >> "$lone_dir"/version.h.in |
|
|
|
|
|
# libjte |
|
|
|
create_dir "$lone_dir"/libjte |
|
goto_dir "$current_dir"/jte-develop |
|
copy_files *.[ch] "$lone_dir"/libjte |
|
copy_files bin/jigdo-gen-md5-list doc/jigdo-gen-md5-list.1 "$lone_dir"/libjte |
|
copy_files COPYRIGHT "$lone_dir"/libjte |
|
|
|
|
|
# libburn |
|
|
|
create_dir "$lone_dir"/libburn |
|
goto_dir "$current_dir"/libburn-develop |
|
copy_files libburn/*.[ch] "$lone_dir"/libburn |
|
copy_files COPYRIGHT "$lone_dir"/libburn |
|
cat CONTRIBUTORS >>"$lone_dir"/CONTRIBUTORS |
|
|
|
# Delete a source module of yet unclear ancestry. |
|
# The build process will avoid to use it. |
|
rm "$lone_dir"/libburn/crc.c |
|
|
|
|
|
# To get a common version.h |
|
cat version.h.in >> "$lone_dir"/version.h.in |
|
|
|
# Decision about legal situation |
|
goto_dir "$current_dir"/libisoburn-develop |
|
if test "$create_gnu_xorriso" = "yes" |
|
then |
|
copy_files xorriso/README_gnu_xorriso "$lone_dir"/README |
|
copy_files xorriso/COPYRIGHT_gnu_xorriso "$lone_dir"/COPYRIGHT |
|
copy_files xorriso/COPYING_gnu_xorriso "$lone_dir"/COPYING |
|
copy_files xorriso/AUTHORS_gnu_xorriso "$lone_dir"/AUTHORS |
|
|
|
# patch xorriso/xorriso.h to be GNU xorriso |
|
sed -e's/define Xorriso_libburnia_xorrisO/define Xorriso_GNU_xorrisO/' \ |
|
-e's/This may be changed to Xorriso_GNU_xorrisO in order to c/C/' \ |
|
<xorriso/xorriso.h >"$lone_dir"/xorriso/xorriso.h |
|
|
|
else |
|
|
|
copy_files README "$lone_dir"/README |
|
|
|
fi |
|
|
|
|
|
# tarball |
|
|
|
if test "$with_bootstrap_tarball" = 1 |
|
then |
|
|
|
tarball_dir="$current_dir"/xorriso-"$xorriso_rev""$xorriso_pl" |
|
mv "$lone_dir" "$tarball_dir" |
|
|
|
goto_dir "$tarball_dir" |
|
|
|
./bootstrap |
|
|
|
# Remove unneeded temporary data from ./bootstrap |
|
rm -r ./autom4te.cache |
|
|
|
# Repair non-portable shell code output of ./bootstrap |
|
( |
|
cd "$compile_dir" || exit 1 |
|
sed -e 's/^for ac_header in$/test -z 1 \&\& for ac_header in dummy/' \ |
|
< ./configure > ./configure-repaired |
|
if test "$?" = 0 |
|
then |
|
echo "$0: Empty 'for ac_header in' found in configure." >&2 |
|
fi |
|
mv ./configure-repaired ./configure |
|
chmod a+rx,go-w,u+w ./configure |
|
) |
|
|
|
if test "$create_gnu_xorriso" = "yes" |
|
then |
|
# ftp-upload@gnu.org rejects Makefile.in with a dangerous chmod on make dist |
|
sed -e 's/-perm -777 -exec chmod a+rwx/-perm -755 -exec chmod u+rwx,go+rx/' \ |
|
< Makefile.in > new_Makefile.in |
|
|
|
mv new_Makefile.in Makefile.in |
|
fi |
|
|
|
|
|
cd "$current_dir" |
|
tar czf ./xorriso-"$xorriso_rev""$xorriso_pl".tar.gz $(basename "$tarball_dir") |
|
|
|
ls -l $(pwd)/xorriso-"$xorriso_rev""$xorriso_pl".tar.gz |
|
|
|
mv "$tarball_dir" "$lone_dir" |
|
|
|
fi |
|
|
|
echo "Done" |
|
echo "HINT: Now build xorriso/xorriso by:" |
|
echo " cd '$lone_dir' && ./configure && make" |
|
echo
|
|
|