Re: A Method of Breaking Git
On Sun, Oct 29, 2023 at 07:25:38AM +0200, Stijn Tintel wrote: > On 24/10/2023 15:25, Christian Marangi wrote: > > On Tue, Oct 24, 2023 at 02:21:35PM +0200, Bjørn Mork wrote: > >> Christian Marangi writes: > >> > >>> Anyway I have also found this [1]... if it does actually works, it might > >>> be > >>> THE solution to our specific problem. Wonder if someone can test it on a > >>> sample repository. > >>> > >>> [1] https://devblogs.microsoft.com/oldnewthing/20190919-00/?p=102904 > >> Nice! Seems to work. Tried this in an almost uptodate OpenWrt main > >> branch: > >> > >> git checkout -b dup > >> git mv target/linux/ramips/mt7621/config-5.15 > >> target/linux/ramips/mt7621/config-6.1 > >> git commit -s -m 'create config-6.1 based on config-5.15' > >> git checkout HEAD~ target/linux/ramips/mt7621/config-5.15 > >> git commit -s -m 'restore config-5.15' > >> git checkout - > >> git merge --no-ff dup > >> > >> and ended up with > >> > >> bjorn@canardo:/usr/local/src/openwrt$ git log --oneline --follow -n 5 > >> target/linux/ramips/mt7621/config-5.15 > >> 6e91f43c99a7 (dup) restore config-5.15 > >> 5a742b351365 create config-6.1 based on config-5.15 > >> cd2b74e01e8d ramips: mt7621: disable highmem support and remove highmem > >> offset patch > >> 39b2251cd972 treewide: remove CONFIG_FRAME_WARN from kernel configs > >> dc38199b96ee ramips/mt7621: disable the cpufreq driver > >> > >> bjorn@canardo:/usr/local/src/openwrt$ git log --oneline --follow -n 5 > >> target/linux/ramips/mt7621/config-6.1 > >> 5a742b351365 create config-6.1 based on config-5.15 > >> cd2b74e01e8d ramips: mt7621: disable highmem support and remove highmem > >> offset patch > >> 39b2251cd972 treewide: remove CONFIG_FRAME_WARN from kernel configs > >> dc38199b96ee ramips/mt7621: disable the cpufreq driver > >> 958fdf36e35c generic: mt7530: backport support for the MT7988 built-in > >> switch > >> > >> > >> Best solution so far > >> > > Yep only drawback is the additional commit and the merge commit but this > > might be the only case where we can accept a merge commit. Might be > > worth to document this in the wiki if we take a decision on this. > > > There's another big drawback: it breaks git bisect. In the example > above, if you end up on commit 5a742b351365, the target will try > building kernel 5.15, but there will be no config-5.15. This can happen even without the use of this technique. `git bisect` was designed to handle this type of situation. Simply use `git bisect skip` and everything works. -- (\___(\___(\__ --=> 8-) EHM <=-- __/)___/)___/) \BS (| ehem+sig...@m5p.com PGP 87145445 |) / \_CS\ | _ -O #include O- _ | / _/ 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: A Method of Breaking Git
On 24/10/2023 15:25, Christian Marangi wrote: On Tue, Oct 24, 2023 at 02:21:35PM +0200, Bjørn Mork wrote: Christian Marangi writes: Anyway I have also found this [1]... if it does actually works, it might be THE solution to our specific problem. Wonder if someone can test it on a sample repository. [1] https://devblogs.microsoft.com/oldnewthing/20190919-00/?p=102904 Nice! Seems to work. Tried this in an almost uptodate OpenWrt main branch: git checkout -b dup git mv target/linux/ramips/mt7621/config-5.15 target/linux/ramips/mt7621/config-6.1 git commit -s -m 'create config-6.1 based on config-5.15' git checkout HEAD~ target/linux/ramips/mt7621/config-5.15 git commit -s -m 'restore config-5.15' git checkout - git merge --no-ff dup and ended up with bjorn@canardo:/usr/local/src/openwrt$ git log --oneline --follow -n 5 target/linux/ramips/mt7621/config-5.15 6e91f43c99a7 (dup) restore config-5.15 5a742b351365 create config-6.1 based on config-5.15 cd2b74e01e8d ramips: mt7621: disable highmem support and remove highmem offset patch 39b2251cd972 treewide: remove CONFIG_FRAME_WARN from kernel configs dc38199b96ee ramips/mt7621: disable the cpufreq driver bjorn@canardo:/usr/local/src/openwrt$ git log --oneline --follow -n 5 target/linux/ramips/mt7621/config-6.1 5a742b351365 create config-6.1 based on config-5.15 cd2b74e01e8d ramips: mt7621: disable highmem support and remove highmem offset patch 39b2251cd972 treewide: remove CONFIG_FRAME_WARN from kernel configs dc38199b96ee ramips/mt7621: disable the cpufreq driver 958fdf36e35c generic: mt7530: backport support for the MT7988 built-in switch Best solution so far Yep only drawback is the additional commit and the merge commit but this might be the only case where we can accept a merge commit. Might be worth to document this in the wiki if we take a decision on this. There's another big drawback: it breaks git bisect. In the example above, if you end up on commit 5a742b351365, the target will try building kernel 5.15, but there will be no config-5.15. Stijn ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: packages repos: libpcre
On 28/10/2023 20:03, Paul D wrote: Hi, maybe some housekeeping process is nececssary, but I got this immediately after I did the usually recommended checkout procedures, and have been even after a git pull, every time I run make. The prce package was moved from the base repo to the packages, so you need to ./scripts/feeds install pcre. Do these packages need bumping to another libpcre version? They will need bumping in the near future, but for now pcre (1) still exists in the packages feed. See https://github.com/openwrt/packages/issues/22006. Stijn ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
packages repos: libpcre
Hi, maybe some housekeeping process is nececssary, but I got this immediately after I did the usually recommended checkout procedures, and have been even after a git pull, every time I run make. Do these packages need bumping to another libpcre version? === WARNING: Makefile 'package/feeds/packages/fdm/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/freeradius3/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/telephony/freeswitch/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/haproxy/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/haproxy/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/telephony/kamailio/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/telephony/kamailio/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/telephony/kamailio/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/libndpi/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/nmap/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/nmap/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/nmap/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/postfix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/privoxy/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/telephony/rtpengine/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/telephony/rtpengine/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/telephony/sipgrep/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/snort/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/snort3/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/tvheadend/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist WARNING: Makefile 'package/feeds/packages/zabbix/Makefile' has a dependency on 'libpcre', which does not exist ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: CI/CD failures on non-x86 platforms
Philip Prindeville wrote: > Thought I sent this earlier but I see no trace of it, so here goes again. > Here it is again with the link to the build and the extracted logs from one > of the failing builds: > https://github.com/openwrt/packages/actions/runs/6629645917/job/18009391257?pr=22359 > CFLAGS="-Os -pipe -mcpu=8548 -fno-caller-saves -fno-plt -fhonour-copts > -msoft-float > -ffile-prefix-map=/builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0=cligen-6.4.0 > -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 > -Wl,-z,now -Wl,-z,relro > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/usr/include > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/include > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/include/fortify > " CXXFLAGS="-Os -pipe -mcpu=8548 -fno-caller-saves -fno-plt -fhonour-copts > -msoft-float > -ffile-prefix-map=/builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0=cligen-6.4.0 > -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 > -Wl,-z,now -Wl,-z,relro > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/usr/include > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/include > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/include/fortify > " LDFLAGS="-L/ builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/usr/lib -L/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/lib -fuse-ld=bfd -znow -zrelro " make -C /builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0/. AR="powerpc-openwrt-linux-musl-gcc-ar" AS="powerpc-openwrt-linux-musl-gcc -c -Os -pipe -mcpu=8548 -fno-caller-saves -fno-plt -fhonour-copts -msoft-float -ffile-prefix-map=/builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0=cligen-6.4.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro" LD="powerpc-openwrt-linux-musl-ld.bfd" NM="powerpc-openwrt-linux-musl-gcc-nm" CC="powerpc-openwrt-linux-musl-gcc" GCC="powerpc-openwrt-linux-musl-gcc" CXX="powerpc-openwrt-linux-musl-g++" RANLIB="powerpc-openwrt-linux-musl-gcc-ranlib" STRIP=powerpc-openwrt-linux-musl-strip OBJCOPY=powerpc-openwrt-linux-musl-objcopy OBJDUMP=powerpc-openwrt-linux-musl-objdump SIZE=powerpc-openwrt-linux-musl-size CROSS="powerpc-openwrt-linux-musl- " ARCH="powerpc" DESTDIR="/builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0/ipkg-install" install; > make[3]: Entering directory > '/builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0' > echo "/* This file is generated from the CLIgen Makefile */" > build.c; > date +"const char CLIGEN_BUILDSTR[49]=\"%Y.%m.%d %H:%M by `whoami` on > `hostname`"\"\; >> build.c; > echo "const char CLIGEN_VERSION[64]=\"6.4.0\""\; >> build.c; > powerpc-openwrt-linux-musl-gcc -I. -I. -DHAVE_CONFIG_H > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/usr/include > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/include > -I/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/include/fortify > -fPIC -Os -pipe -mcpu=8548 -fno-caller-saves -fno-plt -fhonour-copts > -msoft-float > -ffile-prefix-map=/builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0=cligen-6.4.0 > -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 > -Wl,-z,now -Wl,-z,relro -c build.c > powerpc-openwrt-linux-musl-gcc -shared -o libcligen.so.6.4 cligen_object.o > cligen_callback.o cligen_parsetree.o cligen_pt_head.o cligen_handle.o > cligen_cv.o cligen_match.o cligen_result.o cligen_read.o cligen_io.o > cligen_expand.o cligen_syntax.o cligen_print.o cligen_cvec.o cligen_buf.o > cligen_util.o cligen_history.o cligen_regex.o cligen_getline.o build.o > lex.cligen_parse.o cligen_parse.tab.o > -L/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/usr/lib > -L/builder/staging_dir/toolchain-powerpc_8548_gcc-12.3.0_musl/lib > -fuse-ld=bfd -znow -zrelro -Wl,-soname=libcligen.so.6.4 -L. > file libcligen.so.6.4 > libcligen.so.6.4: ELF 32-bit MSB shared object, PowerPC or cisco 4500, > version 1 (SYSV), dynamically linked, with debug_info, not stripped > /builder/staging_dir/host/bin/install -c -m 0755 -d > /builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0/ipkg-install/usr/lib > /builder/staging_dir/host/bin/install -c -m 0644 -s libcligen.so.6.4 > /builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0/ipkg-install/usr/lib > strip: Unable to recognise the format of the input file > `/builder/build_dir/target-powerpc_8548_musl/cligen-6.4.0/ipkg-install/usr/lib/libcligen.so.6.4' > /builder/staging_dir/host/bin/install: strip process terminated abnormally > make[3]: *** [Makefile:158: install-lib] Error 1 /builder/staging_dir/host/bin/install is symlink to $(HOST)/usr/bin/install, default INSTALLFLAGS set in comfigure.ac to "-s" (strip). You have two options: 1 - remove setting INSTALLFLAGS from configure.ac or Makefile.in 2 - tell install about rigth