Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation message catalogs are always updated when building Geany #3077

Closed
eht16 opened this issue Jan 1, 2022 · 9 comments · Fixed by #3089 or #3092
Closed

Translation message catalogs are always updated when building Geany #3077

eht16 opened this issue Jan 1, 2022 · 9 comments · Fixed by #3089 or #3092

Comments

@eht16
Copy link
Member

eht16 commented Jan 1, 2022

Since #2938 was merged, a simple make in the Geany source directory causes all po/*.po files to be updated and so listed as modified by git status.

@kugel- is this intended?

If there is no reason to do this, I'd consider this as rather annoying.

@elextr
Copy link
Member

elextr commented Jan 2, 2022

And just running autogen.sh makes git think INSTALL is modified.

[Edit: it is, why?]

@elextr
Copy link
Member

elextr commented Jan 2, 2022

@kugel- please fix quickly or please revert #2938 (if its the cause) until you get time. Its too risky to commit things that were not intended.

@rdipardo
Copy link
Contributor

rdipardo commented Jan 2, 2022

autoreconf --force --install --verbose

The --force option gets propagated down the toolchain:

$ autoreconf --install --verbose --force
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
autoreconf: running: aclocal --force -I m4
[ . . .]
autoreconf: running: libtoolize --copy --force
[ . . .]
autoreconf: running: /usr/bin/autoconf --force
[ . . .]
autoreconf: running: /usr/bin/autoheader --force
[ . . .]
autoreconf: running: automake --add-missing --copy --force-missing
[ . . .]

And just running autogen.sh makes git think INSTALL is modified.

That's because of automake . . . ; run it without --force-missing and nothing gets modified.

@elextr
Copy link
Member

elextr commented Jan 2, 2022

Ok, so no --force and IIUC also should be strictness == foreign, Geany is not a GNU package.

@Davidy22
Copy link
Contributor

Davidy22 commented Jan 8, 2022

Here because I was informed that the quick patch to the gitignore was misguided, tested and can confirm that autoreconf --force-missing --install --verbose mostly resolves this, leaving just a single file stamp-po created which we could just rm at the end of autogen or gitignore. I'm skimming the PR queue and don't see anything along these lines, can make it later when I'm more awake

@kugel-
Copy link
Member

kugel- commented Jan 8, 2022

Regarding the .po files

This seems to work. With this, manual make -C po update-po is needed.

diff --git a/po/Makevars b/po/Makevars
index 0877b1091..6525eb355 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -73,7 +73,7 @@ MSGINIT_OPTIONS =
 # has changed.  Possible values are "yes" and "no".  Set this to no if
 # the POT file is checked in the repository and the version control
 # program ignores timestamps.
-PO_DEPENDS_ON_POT = yes
+PO_DEPENDS_ON_POT = no

 # This tells whether or not to forcibly update $(DOMAIN).pot and
 # regenerate PO files on "make dist".  Possible values are "yes" and

Regarding INSTALL, I think it might have to do with the Automake version installed on the system. On my system INSTALL is not updated.

I'm trying to remember if the --force option was required for something but I can't. I guess we can drop it and see.

@Davidy22
Copy link
Contributor

Davidy22 commented Jan 9, 2022

Made the PR with --force-missing approach at first and looks like CI didn't like it, so reformed PR to switch PO_DEPENDS_ON_POT instead

@elextr
Copy link
Member

elextr commented Jan 9, 2022

@kugel- this is the git diff for INSTALL

diff --git a/INSTALL b/INSTALL
index e82fd21d..8865734f 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-   Copyright (C) 1994-1996, 1999-2002, 2004-2017, 2020-2021 Free
-Software Foundation, Inc.
+   Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
+Foundation, Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -225,7 +225,7 @@ order to use an ANSI C compiler:
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
-   HP-UX 'make' updates targets which have the same timestamps as their
+   HP-UX 'make' updates targets which have the same time stamps as their
 prerequisites, which makes it generally unusable when shipped generated
 files such as 'configure' are involved.  Use GNU 'make' instead.
 

automake -- version

automake (GNU automake) 1.16.1

@rdipardo
Copy link
Contributor

rdipardo commented Jan 9, 2022

#3089 works:

$ find _build/ -type f -name \*po
_build/po/stamp-po

Regarding INSTALL, I think it might have to do with the Automake version installed on the system.

Confirmed:

$ git ls-files -m
INSTALL

$ automake --version
automake (GNU automake) 1.16.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl-2.0.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Tom Tromey <tromey@redhat.com>
       and Alexandre Duret-Lutz <adl@gnu.org>.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants