User Tools

Site Tools


developer_documentation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
developer_documentation [2019/02/14 06:44]
ispyisail [Make Custom]
developer_documentation [2020/12/21 09:09] (current)
lantis [Building Older Versions of Gargoyle]
Line 597: Line 597:
 ===== Building Older Versions of Gargoyle ===== ===== Building Older Versions of Gargoyle =====
  
-Due to changes in upstream infrastructure, some of the older Gargoyle revisions no longer build out of the box. +Due to changes in upstream infrastructure, some of the older Gargoyle tagged revisions no longer build out of the box. 
-The following is a patch to restore 1.8.1 (or any Barrier Breaker 14.07 based version of Gargoyle) builds to build correctly: +The latest commits on each branch back to 1.6 have all been fixed to build as of November 2020
-<code diff> +
---- a/build.sh +
-+++ b/build.sh +
-@@ -21,15 +21,17 @@ set_version_variables() +
-  +
-  #openwrt branch +
-  branch_name="Barrier Breaker" +
-- branch_id="barrier_breaker" +
-+ branch_id="14.07" +
-  branch_is_trunk="0" +
-- branch_packages_path="branches/packages_14.07" +
-+ branch_packages_path="packages" +
-  +
-  +
-- # set svn revision number to use  +
-- # you can set this to an alternate revision  +
-+ # set precise commit in repo to use  +
-+ # you can set this to an alternate commit  +
-  # or empty to checkout latest  +
-- rnum=46817 +
-+ openwrt_commit="a0847febf3afac0997b821f62be8c91e00e25fa0" +
-+ openwrt_abbrev_commit=$( echo "$openwrt_commit" | cut -b 1-7 ) +
-+  +
-  +
-  #set date here, so it's guaranteed the same for all images +
-  #even though build can take several hours +
-@@ -82,7 +84,7 @@ create_gargoyle_banner() +
-  local gargoyle_version="$4" +
-  local gargoyle_commit="$5" +
-  local openwrt_branch="$6+
-- local openwrt_revision="$7" +
-+ local openwrt_cmt="$7" +
-  local banner_file_path="$8" +
-  local revision_save_dir="$9" +
-  +
-@@ -92,7 +94,7 @@ create_gargoyle_banner() +
-  fi +
-  +
-  local top_line=$(printf "| %-26s| %-35s|" "Gargoyle version $gargoyle_version" "$openwrt_branch_str"+
-- local middle_line=$(printf "| %-26s| %-35s|" "Gargoyle revision $gargoyle_commit" "OpenWrt revision r$openwrt_revision"+
-+ local middle_line=$(printf "| %-26s| %-35s|" "Gargoyle revision $gargoyle_commit" "OpenWrt commit $openwrt_cmt"+
-  local bottom_line=$(printf "| %-26s| %-35s|" "Built $date" "Target  $target/$profile"+
-  +
-  cat << 'EOF' >"$banner_file_path" +
-@@ -198,7 +200,6 @@ distrib_init () +
-  fi +
-  #git log --since=5/16/2013 $(git log -1 --pretty=format:%h) --pretty=format:"%h%x09%ad%x09%s" --date=short > "$top_dir/Distribution/changelog.txt" +
-  git log $(git describe --abbrev=0 --tags)..$(git log -1 --pretty=format:%h) --no-merges --pretty=format:"%h%x09%ad%x09%s" --date=short > "$top_dir/Distribution/Gargoyle changelog.txt" +
-- svn log -r "$rnum":36425 svn://svn.openwrt.org/openwrt/branches/attitude_adjustment/ > "$top_dir/Distribution/OpenWrt changelog.txt" +
-  cp -fR "$top_dir/LICENSES" "$top_dir/Distribution/" +
- } +
-  +
-@@ -334,9 +335,9 @@ fi +
-  +
- openwrt_src_dir="$top_dir/downloaded/$branch_id" +
- openwrt_package_dir="$top_dir/downloaded/$branch_id-packages" +
--if [ -n "$rnum" ] ; then +
-- openwrt_src_dir="$top_dir/downloaded/$branch_id-$rnum" +
-- openwrt_package_dir="$top_dir/downloaded/$branch_id-packages-$rnum" +
-+if [ -n "$openwrt_commit" ] ; then +
-+ openwrt_src_dir="$top_dir/downloaded/$branch_id-${openwrt_abbrev_commit}" +
-+ openwrt_package_dir="$top_dir/downloaded/$branch_id-packages-${openwrt_abbrev_commit}" +
- else +
-  rm -rf "$openwrt_src_dir" +
-  rm -rf "$openwrt_package_dir" +
-@@ -345,23 +346,22 @@ fi +
-  +
- #download openwrt source if we haven't already +
- if [ ! -d "$openwrt_src_dir" ] ; then +
-- revision="" +
-- if [ -n "$rnum" ] ; then +
-- revision=" -r $rnum " +
-- fi +
-  echo "fetching openwrt source" +
-  rm -rf "$branch_name" "$branch_id" +
-  if [ "$branch_is_trunk" = "1" ] ; then  +
-- svn checkout $revision svn://svn.openwrt.org/openwrt/trunk "$branch_id" +
-+ git clone  git://git.openwrt.org/openwrt.git "$openwrt_src_dir" +
-  else +
-- svn checkout $revision svn://svn.openwrt.org/openwrt/branches/$branch_id/ +
-+ git clone  git://git.archive.openwrt.org/$branch_id/openwrt.git "$openwrt_src_dir" +
-  fi +
-- if [ ! -d "$branch_id" ] ; then +
-+ if [ ! -d "$openwrt_src_dir" ] ; then +
-  echo "ERROR: could not download source, exiting" +
-  exit +
-  fi +
-- cd "$branch_id" +
-- find . -name ".svn" | xargs -r rm -rf +
-+ if [ -n "$openwrt_commit" ] ; then +
-+ cd "$openwrt_src_dir" +
-+ git checkout "$openwrt_commit" +
-+ fi +
-+
-  cd "$top_dir"  +
-  mv "$branch_id" "$openwrt_src_dir" +
- fi +
-@@ -475,14 +475,10 @@ for target in $targets ; do +
-  if [ "$target" = "custom" ] ; then +
-  if [ ! -d "$openwrt_package_dir" ] ; then +
-   +
-- if [ "$branch_is_trunk" = "1" ] ; then  +
-- svn checkout $revision svn://svn.openwrt.org/openwrt/packages "$openwrt_package_dir"  +
-- else +
-- svn checkout $revision "svn://svn.openwrt.org/openwrt/$branch_packages_path" "$openwrt_package_dir"  +
-- fi +
-+ git clone git://git.openwrt.org/packages.git "$openwrt_package_dir" +
-   +
-  cd "$openwrt_package_dir" +
-- find . -name ".svn" | xargs rm -rf +
-+
-  for gp in $gargoyle_packages ; do +
-  IFS_ORIG="$IFS" +
-  IFS_LINEBREAK="$(printf '\n\r')" +
-@@ -507,10 +503,9 @@ for target in $targets ; do +
-  +
-  +
-  +
-- #enter build directory and make sure we get rid of all those pesky .svn files,  +
-- #and any crap left over from editing +
-+ #enter build directory and make sure we get rid of +
-+ #any crap left over from editing +
-  cd "$top_dir/$target-src" +
-- find . -name ".svn"  | xargs rm -rf +
-  find . -name "*~"    | xargs rm -rf +
-  find . -name ".*sw*" | xargs rm -rf +
-   +
-@@ -534,7 +529,7 @@ for target in $targets ; do +
-  +
-   +
-  openwrt_target=$(get_target_from_config "./.config"+
-- create_gargoyle_banner "$openwrt_target" "$profile_name" "$build_date" "$short_gargoyle_version" "$gargoyle_git_revision" "$branch_name" "$rnum" "package/base-files/files/etc/banner" "." +
-+ create_gargoyle_banner "$openwrt_target" "$profile_name" "$build_date" "$short_gargoyle_version" "$gargoyle_git_revision" "$branch_name" "$openwrt_abbrev_commit" "package/base-files/files/etc/banner" "." +
-  +
-  make $num_build_thread_str GARGOYLE_VERSION="$numeric_gargoyle_version" GARGOYLE_VERSION_NAME="$lower_short_gargoyle_version" GARGOYLE_PROFILE="$default_profile" +
-  +
-@@ -551,7 +546,7 @@ for target in $targets ; do +
-  +
-  +
-  openwrt_target=$(get_target_from_config "./.config"+
-- create_gargoyle_banner "$openwrt_target" "$profile_name" "$build_date" "$short_gargoyle_version" "$gargoyle_git_revision" "$branch_name" "$rnum" "package/base-files/files/etc/banner" "." +
-+ create_gargoyle_banner "$openwrt_target" "$profile_name" "$build_date" "$short_gargoyle_version" "$gargoyle_git_revision" "$branch_name" "$openwrt_abbrev_commit" "package/base-files/files/etc/banner" "." +
-  +
-  make $num_build_thread_str V=99 GARGOYLE_VERSION="$numeric_gargoyle_version" GARGOYLE_VERSION_NAME="$lower_short_gargoyle_version" GARGOYLE_PROFILE="$default_profile" +
-  +
-@@ -565,8 +560,9 @@ for target in $targets ; do +
-  +
-  #copy packages to built/target directory +
-  mkdir -p "$top_dir/built/$target/$default_profile" +
-- package_files=$(find bin -name "*.ipk"+
-- index_files=$(find bin -name "Packa*"+
-+ package_base_dir=$(find bin -name "base"+
-+ package_files=$(find "$package_base_dir" -name "*.ipk"+
-+ index_files=$(find "$package_base_dir" -name "Packa*"+
-  if [ -n "$package_files" ] && [ -n "$index_files" ] ; then +
-  +
-  for pf in $package_files ; do +
-@@ -643,7 +639,7 @@ for target in $targets ; do +
-   +
-   +
-  openwrt_target=$(get_target_from_config "./.config"+
-- create_gargoyle_banner "$openwrt_target" "$profile_name" "$build_date" "$short_gargoyle_version" "$gargoyle_git_revision" "$branch_name" "$rnum" "package/base-files/files/etc/banner" "." +
-+ create_gargoyle_banner "$openwrt_target" "$profile_name" "$build_date" "$short_gargoyle_version" "$gargoyle_git_revision" "$branch_name" "$openwrt_abbrev_commit" "package/base-files/files/etc/banner" "." +
-  +
-   +
-  echo "" +
-@@ -674,8 +670,9 @@ for target in $targets ; do +
-  #copy packages to build/target directory +
-  mkdir -p "$top_dir/built/$target/$profile_name" +
-  arch=$(ls bin) +
-- package_files=$(find bin -name "*.ipk"+
-- index_files=$(find bin -name "Packa*"+
-+ package_base_dir=$(find bin -name "base"+
-+ package_files=$(find "$package_base_dir" -name "*.ipk"+
-+ index_files=$(find "$package_base_dir" -name "Packa*"+
-  if [ -n "$package_files" ] && [ -n "$index_files" ] ; then +
-  for pf in $package_files ; do +
-  cp "$pf" "$top_dir/built/$target/$profile_name/" +
-@@ -684,7 +681,10 @@ for target in $targets ; do +
-  cp "$inf" "$top_dir/built/$target/$profile_name/" +
-  done +
-  fi +
--  +
-+
-+
-+
-+  +
-  if [ "$distribution" = "true" ] ; then +
-  mkdir -p "$top_dir/Distribution/Images/$target-$profile_name" +
-  fi +
-@@ -719,3 +719,4 @@ for target in $targets ; do +
-  cd "$top_dir" +
- done +
-  +
-+
---- /dev/null +
-+++ b/patches-generic/66-Fix-Kernel-Download.patch +
-@@ -0,0 +1,13 @@ +
-+--- a/scripts/download.pl +
-++++ b/scripts/download.pl +
-+@@ -165,8 +165,8 @@ foreach my $mirror (@ARGV) { +
-+ push @extra, "$extra[0]/longterm/v$1"; +
-+ }  +
-+ foreach my $dir (@extra) { +
-+- push @mirrors, "ftp://ftp.all.kernel.org/pub/$dir"; +
-+- push @mirrors, "http://ftp.all.kernel.org/pub/$dir"; +
-++ push @mirrors, "https://cdn.kernel.org/pub/$dir"; +
-++ push @mirrors, "https://www.kernel.org/pub/$dir"; +
-+ } +
-+     } elsif ($mirror =~ /^\@GNOME\/(.+)$/) { +
-+ push @mirrors, "http://ftp.gnome.org/pub/GNOME/sources/$1"; +
-</code> +
-The same patch should work for earlier versions including 1.6.2 with some modifications+
developer_documentation.txt · Last modified: 2020/12/21 09:09 by lantis