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
Next revision Both sides next revision
developer_documentation [2019/02/14 06:44]
ispyisail [Make Custom]
developer_documentation [2020/12/21 09:09]
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: 2022/04/24 11:50 by lantis