Skip to content

Version 4.0.0 packaging

HI,

Today I released libhinawa 4.0.0. I expect it as a final stable release after a long journey around a decade.

As the version numbering expresses, the new release brings loss of backward compatibility. In detail, please refer to the release note, but I put the minutes below:

  • Skip version 3 release due to consistency of major version number between library itself and g-i metadata
  • Drop features related to ALSA HwDep character devices since libhitaki provides them nowadays
  • Drop deprecated and obsoleted features

In my local, below patch is available to generate debian package. I would like you to test it in your environment. For your convenience, I put the stuffs into remote repository:

I leave debian/watch as is, while we can use repository URL instead of archive URL, like linux-firewire-utils. I leave the decision to you.

From 9fd6da1eba1bce4a5492ebd87b1020bd2d987007 Mon Sep 17 00:00:00 2001
From: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Date: Sun, 29 Oct 2023 14:56:16 +0900
Subject: [PATCH] debian: packaging for v4.0.0

---
 debian/control                                |  48 ++++---
 ...-3.0.install => gir1.2-hinawa-4.0.install} |   0
 debian/libhinawa2.symbols                     | 118 ------------------
 ...{libhinawa2.install => libhinawa4.install} |   0
 debian/libhinawa4.symbols                     |  59 +++++++++
 5 files changed, 81 insertions(+), 144 deletions(-)
 rename debian/{gir1.2-hinawa-3.0.install => gir1.2-hinawa-4.0.install} (100%)
 delete mode 100644 debian/libhinawa2.symbols
 rename debian/{libhinawa2.install => libhinawa4.install} (100%)
 create mode 100644 debian/libhinawa4.symbols

diff --git a/debian/control b/debian/control
index 5a1e2a4..497ee30 100644
--- a/debian/control
+++ b/debian/control
@@ -3,59 +3,55 @@ Section: libs
 Priority: optional
 Maintainer: Kentaro Hayashi <kenhys@xdump.org>
 Build-Depends: debhelper-compat (= 13),
-    meson (>= 0.46.0),
-    libglib2.0-dev (>= 2.32.0),
+    meson (>= 0.60.0),
+    libglib2.0-dev (>= 2.44.0),
     gtk-doc-tools (>= 1.18-2),
     gobject-introspection (>= 1.32.1),
     libgirepository1.0-dev (>= 1.32.1),
     python3-gi,
-    gi-docgen
+    gi-docgen (>= 2023.1)
 Rules-Requires-Root: no
 Standards-Version: 4.6.2
 Homepage: https://git.kernel.org/pub/scm/libs/ieee1394/libhinawa.git/
 Vcs-Browser: https://salsa.debian.org/debian/libhinawa/
 Vcs-Git: https://salsa.debian.org/debian/libhinawa.git
 
-Package: libhinawa2
+Package: libhinawa4
 Architecture: linux-any
 Pre-Depends: ${misc:Pre-Depends}
 Depends: ${shlibs:Depends}, ${misc:Depends},
-    libglib2.0-0 (>= 2.32.0)
-Breaks: libhinawa1 (<< 2.0.0-1)
-Replaces: libhinawa1 (<< 2.0.0-1)
+    libglib2.0-0 (>= 2.44.0)
+Breaks: libhinawa2 (<< 4.0.0-1)
+Replaces: libhinawa2 (<< 4.0.0-1)
 Multi-Arch: same
-Description: I/O library for IEEE 1394 asynchronous transactions
- This is an I/O library for units on IEEE 1394 bus. This library
- supports any types of asynchronous transactions over IEEE 1394 bus.
- Additionally, this library also supports some functionalities which
- ALSA firewire stack produces.
+Description: I/O library for IEEE 1394 asynchronous transaction
+ This is an I/O library to operate 1394 OHCI hardware for asynchronous
+ transaction in IEEE 1394 bus.
 
-Package: gir1.2-hinawa-3.0
+Package: gir1.2-hinawa-4.0
 Section: introspection
 Architecture: linux-any
 Depends: ${misc:Depends}, ${gir:Depends},
-    libhinawa2 (= ${binary:Version}),
-Breaks: gir1.2-hinawa-2.0 (<< 2.0.0-1)
-Replaces: gir1.2-hinawa-2.0 (<< 2.0.0-1)
+    libhinawa4 (= ${binary:Version}),
+Breaks: gir1.2-hinawa-3.0 (<< 4.0.0-1)
+Replaces: gir1.2-hinawa-3.0 (<< 4.0.0-1)
 Multi-Arch: same
-Description: GObjet introspection data for libhinawa2
- This package contains introspection data for libhinawa2. It can be
+Description: GObjet introspection data for libhinawa4
+ This package contains introspection data for libhinawa4. It can be
  used by packages using the GIRepository format to generate dynamic
  bindings, or it can be used by interpreters understanding the
- GIReporsitory format to libhinawa2.
+ GIReporsitory format to libhinawa4.
 
 Package: libhinawa-dev
 Section: libdevel
 Architecture: linux-any
 Depends: ${misc:Depends},
-    libhinawa2 (= ${binary:Version}),
-    libglib2.0-dev (>= 2.32.0),
+    libhinawa4 (= ${binary:Version}),
+    libglib2.0-dev (>= 2.44.0),
     libgirepository1.0-dev (>= 1.32.1),
-    gir1.2-hinawa-3.0 (= ${binary:Version})
+    gir1.2-hinawa-4.0 (= ${binary:Version})
 Description: I/O library for IEEE 1394 asynchronous transactions (development file)
- Libhinawa is an I/O library for units on IEEE 1394 bus. This library
- supports any types of asynchronous transactions over IEEE 1394 bus.
- Additionally, this library also supports some functionalities which
- ALSA firewire stack produces.
+ This is an I/O library to operate 1394 OHCI hardware for asynchronous
+ transaction in IEEE 1394 bus.
  This package contains development files including C headers and
  XML data for GIRepository.
diff --git a/debian/gir1.2-hinawa-3.0.install b/debian/gir1.2-hinawa-4.0.install
similarity index 100%
rename from debian/gir1.2-hinawa-3.0.install
rename to debian/gir1.2-hinawa-4.0.install
diff --git a/debian/libhinawa2.symbols b/debian/libhinawa2.symbols
deleted file mode 100644
index 11a00f9..0000000
diff --git a/debian/libhinawa2.install b/debian/libhinawa4.install
similarity index 100%
rename from debian/libhinawa2.install
rename to debian/libhinawa4.install
diff --git a/debian/libhinawa4.symbols b/debian/libhinawa4.symbols
new file mode 100644
index 0000000..9a178a2
--- /dev/null
+++ b/debian/libhinawa4.symbols
@@ -0,0 +1,59 @@
+libhinawa.so.4 libhinawa4 #MINVER#
+ HINAWA_0_6_0@HINAWA_0_6_0 0.6.0
+ HINAWA_0_7_0@HINAWA_0_7_0 0.7.0
+ HINAWA_0_8_0@HINAWA_0_8_0 0.8.0
+ HINAWA_1_0_0@HINAWA_1_0_0 1.0.0
+ HINAWA_1_1_0@HINAWA_1_1_0 1.1.0
+ HINAWA_1_3_0@HINAWA_1_3_0 1.3.1
+ HINAWA_1_4_0@HINAWA_1_4_0 1.4.0
+ HINAWA_2_0_0@HINAWA_2_0_0 2.0.0
+ HINAWA_2_1_0@HINAWA_2_1_0 2.1.0
+ HINAWA_2_2_0@HINAWA_2_2_0 2.2.0
+ HINAWA_2_3_0@HINAWA_2_3_0 2.3.0
+ HINAWA_2_4_0@HINAWA_2_4_0 2.4.0
+ HINAWA_2_5_0@HINAWA_2_5_0 2.5.0
+ HINAWA_2_6_0@HINAWA_2_6_0 2.6.0
+ HINAWA_4_0_0@HINAWA_4_0_0 4.0.0
+ hinawa_cycle_time_compute_tstamp@HINAWA_2_6_0 2.6.0
+ hinawa_cycle_time_get_clock_id@HINAWA_2_6_0 2.6.0
+ hinawa_cycle_time_get_fields@HINAWA_2_6_0 2.6.0
+ hinawa_cycle_time_get_raw@HINAWA_2_6_0 2.6.0
+ hinawa_cycle_time_get_system_time@HINAWA_2_6_0 2.6.0
+ hinawa_cycle_time_get_type@HINAWA_2_6_0 2.6.0
+ hinawa_cycle_time_new@HINAWA_2_6_0 2.6.0
+ hinawa_cycle_time_parse_tstamp@HINAWA_2_6_0 2.6.0
+ hinawa_fw_fcp_avc_transaction@HINAWA_4_0_0 4.0.0
+ hinawa_fw_fcp_avc_transaction_with_tstamp@HINAWA_2_6_0 2.6.0
+ hinawa_fw_fcp_bind@HINAWA_4_0_0 4.0.0
+ hinawa_fw_fcp_command@HINAWA_4_0_0 4.0.0
+ hinawa_fw_fcp_command_with_tstamp@HINAWA_2_6_0 2.6.0
+ hinawa_fw_fcp_error_get_type@HINAWA_2_1_0 2.1.0
+ hinawa_fw_fcp_error_quark@HINAWA_2_1_0 2.1.0
+ hinawa_fw_fcp_get_type@HINAWA_0_6_0 0.6.0
+ hinawa_fw_fcp_new@HINAWA_1_3_0 1.3.1
+ hinawa_fw_fcp_unbind@HINAWA_1_4_0 1.4.0
+ hinawa_fw_node_create_source@HINAWA_4_0_0 4.0.0
+ hinawa_fw_node_error_get_type@HINAWA_2_1_0 2.1.0
+ hinawa_fw_node_error_quark@HINAWA_2_1_0 2.1.0
+ hinawa_fw_node_get_config_rom@HINAWA_4_0_0 4.0.0
+ hinawa_fw_node_get_type@HINAWA_1_4_0 1.4.0
+ hinawa_fw_node_new@HINAWA_1_4_0 1.4.0
+ hinawa_fw_node_open@HINAWA_4_0_0 4.0.0
+ hinawa_fw_node_read_cycle_time@HINAWA_4_0_0 4.0.0
+ hinawa_fw_rcode_get_type@HINAWA_1_0_0 1.0.0
+ hinawa_fw_req_error_get_type@HINAWA_2_5_0 2.5.0
+ hinawa_fw_req_error_quark@HINAWA_2_1_0 2.1.0
+ hinawa_fw_req_get_type@HINAWA_0_6_0 0.6.0
+ hinawa_fw_req_new@HINAWA_1_3_0 1.3.1
+ hinawa_fw_req_request@HINAWA_4_0_0 4.0.0
+ hinawa_fw_req_transaction@HINAWA_4_0_0 4.0.0
+ hinawa_fw_req_transaction_with_tstamp@HINAWA_2_6_0 2.6.0
+ hinawa_fw_resp_error_get_type@HINAWA_2_2_0 2.2.0
+ hinawa_fw_resp_error_quark@HINAWA_2_2_0 2.2.0
+ hinawa_fw_resp_get_type@HINAWA_0_6_0 0.6.0
+ hinawa_fw_resp_new@HINAWA_1_3_0 1.3.1
+ hinawa_fw_resp_release@HINAWA_1_4_0 1.4.0
+ hinawa_fw_resp_reserve@HINAWA_4_0_0 4.0.0
+ hinawa_fw_resp_reserve_within_region@HINAWA_4_0_0 4.0.0
+ hinawa_fw_resp_set_resp_frame@HINAWA_2_0_0 2.0.0
+ hinawa_fw_tcode_get_type@HINAWA_1_0_0 1.0.0
-- 
2.39.2
Edited by Takashi Sakamoto
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information