Re: A Method of Breaking Git

2023-10-28 Thread Elliott Mitchell
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

2023-10-28 Thread Stijn Tintel

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

2023-10-28 Thread Stijn Tintel

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

2023-10-28 Thread Paul D



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

2023-10-28 Thread Andrey Jr. Melnikov
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