emden-norfolk / cidrl

List all IP addresses within a CIDR block.
BSD 3-Clause "New" or "Revised" License
18 stars 2 forks source link

Fedora Package #4

Open bezborodow opened 6 months ago

bezborodow commented 6 months ago

Packaging Tutorial:

  1. Fedora Accounts System

    1. Add SSH Key
  2. Installing Packager Tools.

    1. sudo dnf install fedora-packager fedora-review
    2. sudo usermod -a -G mock <your_local_username>
    3. Koji uses Kerberos for authentication.

      Acquire Kerberos ticket: fkinit -u <fedora-username>

      Say hello: koji moshimoshi

      Renew with: kinit -R

  3. Spec file: ee6d598

  4. Download source:

    spectool -g cidrl.spec (this is based on the Git tag in the version.)

  5. Build the package: fedpkg --release f38 mockbuild

bezborodow commented 6 months ago

It seems like I need to have a configure script.

./configure: No such file or directory
bezborodow commented 6 months ago

https://stackoverflow.com/questions/10999549/how-do-i-create-a-configure-script

bezborodow commented 5 months ago

sudo dnf install autoconf automake

bezborodow commented 5 months ago

Using autoscan to Create `configure.ac'

autoscan
# Manually check configure.scan. 
mv configure.scan configure.ac
autoreconf -i
bezborodow commented 5 months ago

Now I am getting:

[dbezborodov@damo-hm0 cidrl]$ ./config.status 
config.status: error: cannot find input file: `Makefile.in'
bezborodow commented 5 months ago

Also helpful: https://stackoverflow.com/questions/2531827/what-are-makefile-am-and-makefile-in

bezborodow commented 5 months ago

https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/Initializing-configure.html

bezborodow commented 5 months ago

From fedpkg --release f38 mockbuild, got:

...
configure: error: cannot find required auxiliary files: compile missing install-sh
...
Could not execute mockbuild: Failed to execute command.

So, git add install-sh also.

bezborodow commented 5 months ago
configure: error: cannot find required auxiliary files: compile missing
bezborodow commented 5 months ago

Hmmm, rabbit hole... https://stackoverflow.com/questions/3290908/which-files-generated-by-autotools-should-i-keep-in-version-control-repository

Maybe get Fedora packager to run autoreconf for me? Or do some sort of Git hook?

Can it be defined in the spec file to run autoreconf?

bezborodow commented 5 months ago

https://fedoraproject.org/wiki/PackagingDrafts/AutoConf

bezborodow commented 5 months ago

It seems like Autoconf stuff should be in the archive. Since I am using GitHub to host release files based on tags, I might need to check the autoconf generated files into version control (something I wish to avoid.) Then... unless the packager can include it for me somehow (without building on the end users machine obviously) or if Github has a hook to include files into the release archive (unlikely?)

Or host my releases somewhere else?

bezborodow commented 5 months ago

What on Earth?

configure: error: in `/builddir/build/BUILD/cidrl-1.0.0':
configure: error: C compiler cannot create executables
bezborodow commented 1 month ago

https://docs.fedoraproject.org/en-US/package-maintainers/Package_Review_Process/

bezborodow commented 1 month ago

https://docs.fedoraproject.org/en-US/package-maintainers/Joining_the_Package_Maintainers/