Why does not config(noreplace) create a .rpmnew file on upgrade? - rpmbuild

I'm currently testing installing a RPM with a config file using the config(noreplace) directive.
As per using config(noreplace)
My spec file marks a single file as a config file:
%config(noreplace) /opt/lm/dest/conf/db.xml
I did an on disk modification to the file for version 1 and proceeded to upgrade to version 2. I was expecting the verbose output to (when using -Uvh) to indicate that it has create a db.xml.rpmnew which it didn't however the on disk modifications I made are intact.
Does anyone know why this might be the case?
Some background info: I am using the same tar file to create both version 1 & 2 which shouldn't make a difference but thought I'd mention it anyway.

Related

How to setup MariaDB Portable?

The first question is: where is my.ini of the version 10.6.5?
I used mariadb-10.1.22. Download the zip file, unzip. Path like
D:\Servers\mysql\mariadb-10.1.22-winx64
Find my-medium.ini in root,
D:\Servers\mysql\mariadb-10.1.22-winx64\my-medium.ini
Change to my.ini, make some changes needed.
D:\Servers\mysql\mariadb-10.1.22-winx64\my.ini
Intall to service
D:\Servers\mysql\mariadb-10.1.22-winx64\bin\mysqld --install
But now, there is no my-medium.ini, nor my-xxx.ini. And the MySQL service cannot start.
Follow the instructions in https://mariadb.com/kb/en/mysql_install_dbexe/
This utility is older than 10.1, it debuted in 5.2
my.ini will in your datadir, which you specify on the mysql_install_db.exe command line . If you do not specify anything, data directory will be named 'data', and it will be next to the 'bin' directory.
Those my-medium.ini and friends were many years old. Now you're better off using defaults. you can set innodb_buffer_pool_size to whatever you wish, and maybe innodb_log_file_size, those are the most important ones.

A .jar file does not run after building it

Actually, I'm trying to add new language to Streama Media Server. I downloaded source code, added new language file (as guided here). After that, I want to build a jar with that project, I build it with IntelliJ Idea 2021.1 (here is how I did). So, When I run that jar file (in Ubunt 20.04), it fails and gives this error: Screenshot
When you have made adjustments to the source code, it is likely that you will want to create a new .jar file and deploy it on your server. For this, you can use a simple command:
# for unix based systems
**./gradlew assemble**
# for windows
**./gradlew.bat assemble**
This will create 2 new .jar files under build/libs,
streama-{version}.jar
streama-{version}.jar.original
all you will need is the streama-{version}.jar.
This file is an executable, so you can just copy it into your deployment directory / your server and start it as usual.

How to permanently set fix my working dir?

Every time I restart R I issue the following command:
setwd("C:/Users/avtarsingh/Downloads")
How do make this my permanent working dir
Create a file called ".Rprofile" and add that command. R will look for this file every time it starts and change to that directory accordingly. More info in the R documentation here
In order to change your working directory permanently, you can find the following file “Rprofile.site” that is located in your installation path “etc” folder and open it in your favorite text editor (i.e., VSCode). Then you can add your permeant working directory to the first line, like the following line of code:
setwd(“C:\your permeant working directory”)
and save it. Next time you open the R-CRAN, your working directory is set to what you have saved.
Any code which you wish to run every R session can be added to Rprofile.site.
On a Windows machine, this file is located for example in C:\Program Files\R\R-3.1.2\etc. On Windows you will need to run your favourite text editor as an administrator to make changes to this file, since it is in Program Files.
This is also a good place to set your local CRAN repository, etc.

How to add files in the RPM package of an Sailfish OS project?

I am trying to build a Sailfish OS app, and I need to use *.wav files, which are to be distributed through the *.rpm package. In my case, these files are to be put in /usr/share/[application_name]/sounds/*. How do I set up the *.pro and *.yamp files accordingly?
This isn't a RPM question per se: you seem to be asking how to configure
your application through *.pro and *.yamp if you deliver content in
*.rpm packages.
The packaging answer is: Patch the configuration files exactly the same
as if you were installing the *.wav files manually (i.e. not through *.rpm).
You will need to copy the *.wav content into the %buildroot tree that
is used to stage the files to be included in the package, as well as the
modified *.pro and *.yamp content. All the files to be included in the
*.rpm package will need to be mentioned in the %files manifest exactly
as they are to be installed (i.e. w/o the %buildroot prefix used for
staging files while building).
I finally found an answer!
I want to thank to the owner of that project:
https://github.com/krig/metronom-sailfish
From the .pro and the .yaml files of this project i found out how to deploy the files. First, we declare that constant:DEPLOYMENT_PATH = /usr/share/$${TARGET} which seems to hold the path to /usr/share/[appname]. Next, we define some kind of a variable (TODO: find a more detailed explanation of that). The definition of that first sets the path to the files, for example, data.files = data (the second data is the folder). Next, we set data.path to $${DEPLOYMENT_PATH}. We list all the files in OTHER_FILES and add the setting, in our case, data, to INSTALLS. Now, that we are finished with the .pro file, we move to the .yaml file for the .rpm and we add to the necessary line to the Files: section, in our case, - '%{_datadir}/%{name}/data', the last being the folder we need to add. TODO: to whoever is more experienced, please provide a more detailed answer.
Did you check https://sailfishos.org/develop-packaging-apps.html carefully? May helps.

Accidentally deleted status.cgi in my nagios cgi folder

Can anyone tell me how to recreate my status.cgi file for nagios. I have a status.dat file that supposedly it is created from. Bonus points if you can tell me how to make a status-json.cgi file also.
I have downloaded the status.c file from nagios 3.5.0 and also the Makefile that was in the same cgi folder. However when I tried copying those to my server and running the command "make status.cgi" I got "no rule to make target 'status'. Stop.
SOLVED:
Recreating just the status.cgi file proved difficult and trivial. What I did to get the file back was this.
I created a copy of my whole /usr/local directory just to have a
backup.
I downloaded the source for a new full install of nagios for the specific version I had installed.
./configure
make all
make install <- this recreates all the cgi files.
I then recopied my original local directory back (changing the name of the one I just made)
Then moved the status.cgi file from the new local directory to the original one (in /usr/local/nagios/sbin)
the status.cgi file is now working again
you need the command:
make install-webconf
That'll recreate the files and drop them where they need to be

Resources